summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Mrázek2010-02-23 19:26:15 +0100
committerPetr Mrázek2010-02-23 19:26:15 +0100
commitbb141fe8f62074f5572e8b3662e64a5cf0768b9b (patch)
tree7feba2feaa777e0c99d9bb5a474ab85aec8880ec
parent1e04722a63de619be2d6ec983a9fc9ebe63cf3d0 (diff)
downloaddfhack-bb141fe8f62074f5572e8b3662e64a5cf0768b9b.tar.gz
dfhack-bb141fe8f62074f5572e8b3662e64a5cf0768b9b.tar.bz2
dfhack-bb141fe8f62074f5572e8b3662e64a5cf0768b9b.tar.xz
Linux d18 ncurses support for shm lib
Some boost preparations
-rw-r--r--CMakeLists.txt1
-rw-r--r--depends/cpfile1127
-rwxr-xr-xdepends/processor.sh6
-rw-r--r--library/DFMemInfo.cpp2
-rwxr-xr-xprecompiled/linux/libdfconnect.sobin12403 -> 12560 bytes
-rw-r--r--shmserver/shms-linux.cpp159
6 files changed, 1235 insertions, 60 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81a20e74..133879e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,6 +26,7 @@ SET( EXECUTABLE_OUTPUT_PATH ${dfhack_SOURCE_DIR}/output CACHE PATH "Output direc
include_directories (${CMAKE_SOURCE_DIR}/library/)
include_directories (${CMAKE_SOURCE_DIR}/shmserver/)
+include_directories (${CMAKE_SOURCE_DIR}/depends/)
add_subdirectory (library)
add_subdirectory (tools)
diff --git a/depends/cpfile b/depends/cpfile
new file mode 100644
index 00000000..a2e527d4
--- /dev/null
+++ b/depends/cpfile
@@ -0,0 +1,1127 @@
+boost/aligned_storage.hpp
+boost/assert.hpp
+boost/call_traits.hpp
+boost/checked_delete.hpp
+boost/config.hpp
+boost/config/abi/msvc_prefix.hpp
+boost/config/abi/msvc_suffix.hpp
+boost/config/abi_prefix.hpp
+boost/config/abi_suffix.hpp
+boost/config/auto_link.hpp
+boost/config/compiler/common_edg.hpp
+boost/config/compiler/gcc.hpp
+boost/config/compiler/gcc_xml.hpp
+boost/config/compiler/intel.hpp
+boost/config/compiler/visualc.hpp
+boost/config/no_tr1/cmath.hpp
+boost/config/no_tr1/complex.hpp
+boost/config/no_tr1/functional.hpp
+boost/config/no_tr1/memory.hpp
+boost/config/no_tr1/utility.hpp
+boost/config/platform/linux.hpp
+boost/config/platform/macos.hpp
+boost/config/platform/win32.hpp
+boost/config/posix_features.hpp
+boost/config/requires_threads.hpp
+boost/config/select_compiler_config.hpp
+boost/config/select_platform_config.hpp
+boost/config/select_stdlib_config.hpp
+boost/config/stdlib/dinkumware.hpp
+boost/config/stdlib/libcomo.hpp
+boost/config/stdlib/libstdcpp3.hpp
+boost/config/stdlib/modena.hpp
+boost/config/stdlib/msl.hpp
+boost/config/stdlib/roguewave.hpp
+boost/config/stdlib/sgi.hpp
+boost/config/stdlib/stlport.hpp
+boost/config/stdlib/vacpp.hpp
+boost/config/suffix.hpp
+boost/config/user.hpp
+boost/config/warning_disable.hpp
+boost/detail/allocator_utilities.hpp
+boost/detail/call_traits.hpp
+boost/detail/indirect_traits.hpp
+boost/detail/is_function_ref_tester.hpp
+boost/detail/iterator.hpp
+boost/detail/lightweight_mutex.hpp
+boost/detail/no_exceptions_support.hpp
+boost/detail/ob_call_traits.hpp
+boost/detail/workaround.hpp
+boost/implicit_cast.hpp
+boost/iterator.hpp
+boost/iterator/detail/config_def.hpp
+boost/iterator/detail/config_undef.hpp
+boost/iterator/detail/enable_if.hpp
+boost/iterator/detail/facade_iterator_category.hpp
+boost/iterator/interoperable.hpp
+boost/iterator/iterator_adaptor.hpp
+boost/iterator/iterator_categories.hpp
+boost/iterator/iterator_facade.hpp
+boost/iterator/iterator_traits.hpp
+boost/iterator/reverse_iterator.hpp
+boost/mpl/advance.hpp
+boost/mpl/advance_fwd.hpp
+boost/mpl/always.hpp
+boost/mpl/and.hpp
+boost/mpl/apply.hpp
+boost/mpl/apply_fwd.hpp
+boost/mpl/apply_wrap.hpp
+boost/mpl/arg.hpp
+boost/mpl/arg_fwd.hpp
+boost/mpl/assert.hpp
+boost/mpl/at.hpp
+boost/mpl/at_fwd.hpp
+boost/mpl/aux_/adl_barrier.hpp
+boost/mpl/aux_/advance_backward.hpp
+boost/mpl/aux_/advance_forward.hpp
+boost/mpl/aux_/arg_typedef.hpp
+boost/mpl/aux_/arithmetic_op.hpp
+boost/mpl/aux_/arity.hpp
+boost/mpl/aux_/arity_spec.hpp
+boost/mpl/aux_/at_impl.hpp
+boost/mpl/aux_/begin_end_impl.hpp
+boost/mpl/aux_/clear_impl.hpp
+boost/mpl/aux_/common_name_wknd.hpp
+boost/mpl/aux_/comparison_op.hpp
+boost/mpl/aux_/config/adl.hpp
+boost/mpl/aux_/config/arrays.hpp
+boost/mpl/aux_/config/bcc.hpp
+boost/mpl/aux_/config/bind.hpp
+boost/mpl/aux_/config/compiler.hpp
+boost/mpl/aux_/config/ctps.hpp
+boost/mpl/aux_/config/dmc_ambiguous_ctps.hpp
+boost/mpl/aux_/config/dtp.hpp
+boost/mpl/aux_/config/eti.hpp
+boost/mpl/aux_/config/forwarding.hpp
+boost/mpl/aux_/config/gcc.hpp
+boost/mpl/aux_/config/has_apply.hpp
+boost/mpl/aux_/config/has_xxx.hpp
+boost/mpl/aux_/config/integral.hpp
+boost/mpl/aux_/config/intel.hpp
+boost/mpl/aux_/config/lambda.hpp
+boost/mpl/aux_/config/msvc.hpp
+boost/mpl/aux_/config/msvc_typename.hpp
+boost/mpl/aux_/config/nttp.hpp
+boost/mpl/aux_/config/operators.hpp
+boost/mpl/aux_/config/overload_resolution.hpp
+boost/mpl/aux_/config/pp_counter.hpp
+boost/mpl/aux_/config/preprocessor.hpp
+boost/mpl/aux_/config/static_constant.hpp
+boost/mpl/aux_/config/ttp.hpp
+boost/mpl/aux_/config/typeof.hpp
+boost/mpl/aux_/config/use_preprocessed.hpp
+boost/mpl/aux_/config/workaround.hpp
+boost/mpl/aux_/contains_impl.hpp
+boost/mpl/aux_/count_args.hpp
+boost/mpl/aux_/empty_impl.hpp
+boost/mpl/aux_/find_if_pred.hpp
+boost/mpl/aux_/fold_impl.hpp
+boost/mpl/aux_/fold_impl_body.hpp
+boost/mpl/aux_/full_lambda.hpp
+boost/mpl/aux_/has_apply.hpp
+boost/mpl/aux_/has_begin.hpp
+boost/mpl/aux_/has_key_impl.hpp
+boost/mpl/aux_/has_rebind.hpp
+boost/mpl/aux_/has_size.hpp
+boost/mpl/aux_/has_tag.hpp
+boost/mpl/aux_/has_type.hpp
+boost/mpl/aux_/include_preprocessed.hpp
+boost/mpl/aux_/inserter_algorithm.hpp
+boost/mpl/aux_/integral_wrapper.hpp
+boost/mpl/aux_/is_msvc_eti_arg.hpp
+boost/mpl/aux_/iter_apply.hpp
+boost/mpl/aux_/iter_fold_if_impl.hpp
+boost/mpl/aux_/iter_fold_impl.hpp
+boost/mpl/aux_/lambda_arity_param.hpp
+boost/mpl/aux_/lambda_no_ctps.hpp
+boost/mpl/aux_/lambda_spec.hpp
+boost/mpl/aux_/lambda_support.hpp
+boost/mpl/aux_/largest_int.hpp
+boost/mpl/aux_/logical_op.hpp
+boost/mpl/aux_/msvc_dtw.hpp
+boost/mpl/aux_/msvc_eti_base.hpp
+boost/mpl/aux_/msvc_is_class.hpp
+boost/mpl/aux_/msvc_never_true.hpp
+boost/mpl/aux_/msvc_type.hpp
+boost/mpl/aux_/na.hpp
+boost/mpl/aux_/na_assert.hpp
+boost/mpl/aux_/na_fwd.hpp
+boost/mpl/aux_/na_spec.hpp
+boost/mpl/aux_/nested_type_wknd.hpp
+boost/mpl/aux_/nttp_decl.hpp
+boost/mpl/aux_/numeric_cast_utils.hpp
+boost/mpl/aux_/numeric_op.hpp
+boost/mpl/aux_/O1_size_impl.hpp
+boost/mpl/aux_/overload_names.hpp
+boost/mpl/aux_/preprocessed/bcc/advance_backward.hpp
+boost/mpl/aux_/preprocessed/bcc/advance_forward.hpp
+boost/mpl/aux_/preprocessed/bcc/and.hpp
+boost/mpl/aux_/preprocessed/bcc/apply.hpp
+boost/mpl/aux_/preprocessed/bcc/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/bcc/arg.hpp
+boost/mpl/aux_/preprocessed/bcc/basic_bind.hpp
+boost/mpl/aux_/preprocessed/bcc/bind.hpp
+boost/mpl/aux_/preprocessed/bcc/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc/bitand.hpp
+boost/mpl/aux_/preprocessed/bcc/bitor.hpp
+boost/mpl/aux_/preprocessed/bcc/bitxor.hpp
+boost/mpl/aux_/preprocessed/bcc/deque.hpp
+boost/mpl/aux_/preprocessed/bcc/divides.hpp
+boost/mpl/aux_/preprocessed/bcc/equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc/fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc/full_lambda.hpp
+boost/mpl/aux_/preprocessed/bcc/greater.hpp
+boost/mpl/aux_/preprocessed/bcc/greater_equal.hpp
+boost/mpl/aux_/preprocessed/bcc/inherit.hpp
+boost/mpl/aux_/preprocessed/bcc/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/bcc/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/bcc/less.hpp
+boost/mpl/aux_/preprocessed/bcc/less_equal.hpp
+boost/mpl/aux_/preprocessed/bcc/list.hpp
+boost/mpl/aux_/preprocessed/bcc/list_c.hpp
+boost/mpl/aux_/preprocessed/bcc/map.hpp
+boost/mpl/aux_/preprocessed/bcc/minus.hpp
+boost/mpl/aux_/preprocessed/bcc/modulus.hpp
+boost/mpl/aux_/preprocessed/bcc/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc/or.hpp
+boost/mpl/aux_/preprocessed/bcc/placeholders.hpp
+boost/mpl/aux_/preprocessed/bcc/plus.hpp
+boost/mpl/aux_/preprocessed/bcc/quote.hpp
+boost/mpl/aux_/preprocessed/bcc/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc/set.hpp
+boost/mpl/aux_/preprocessed/bcc/set_c.hpp
+boost/mpl/aux_/preprocessed/bcc/shift_left.hpp
+boost/mpl/aux_/preprocessed/bcc/shift_right.hpp
+boost/mpl/aux_/preprocessed/bcc/template_arity.hpp
+boost/mpl/aux_/preprocessed/bcc/times.hpp
+boost/mpl/aux_/preprocessed/bcc/unpack_args.hpp
+boost/mpl/aux_/preprocessed/bcc/vector.hpp
+boost/mpl/aux_/preprocessed/bcc/vector_c.hpp
+boost/mpl/aux_/preprocessed/bcc551/advance_backward.hpp
+boost/mpl/aux_/preprocessed/bcc551/advance_forward.hpp
+boost/mpl/aux_/preprocessed/bcc551/and.hpp
+boost/mpl/aux_/preprocessed/bcc551/apply.hpp
+boost/mpl/aux_/preprocessed/bcc551/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc551/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/bcc551/arg.hpp
+boost/mpl/aux_/preprocessed/bcc551/basic_bind.hpp
+boost/mpl/aux_/preprocessed/bcc551/bind.hpp
+boost/mpl/aux_/preprocessed/bcc551/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc551/bitand.hpp
+boost/mpl/aux_/preprocessed/bcc551/bitor.hpp
+boost/mpl/aux_/preprocessed/bcc551/bitxor.hpp
+boost/mpl/aux_/preprocessed/bcc551/deque.hpp
+boost/mpl/aux_/preprocessed/bcc551/divides.hpp
+boost/mpl/aux_/preprocessed/bcc551/equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc551/fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc551/full_lambda.hpp
+boost/mpl/aux_/preprocessed/bcc551/greater.hpp
+boost/mpl/aux_/preprocessed/bcc551/greater_equal.hpp
+boost/mpl/aux_/preprocessed/bcc551/inherit.hpp
+boost/mpl/aux_/preprocessed/bcc551/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/bcc551/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc551/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/bcc551/less.hpp
+boost/mpl/aux_/preprocessed/bcc551/less_equal.hpp
+boost/mpl/aux_/preprocessed/bcc551/list.hpp
+boost/mpl/aux_/preprocessed/bcc551/list_c.hpp
+boost/mpl/aux_/preprocessed/bcc551/map.hpp
+boost/mpl/aux_/preprocessed/bcc551/minus.hpp
+boost/mpl/aux_/preprocessed/bcc551/modulus.hpp
+boost/mpl/aux_/preprocessed/bcc551/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc551/or.hpp
+boost/mpl/aux_/preprocessed/bcc551/placeholders.hpp
+boost/mpl/aux_/preprocessed/bcc551/plus.hpp
+boost/mpl/aux_/preprocessed/bcc551/quote.hpp
+boost/mpl/aux_/preprocessed/bcc551/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc551/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc551/set.hpp
+boost/mpl/aux_/preprocessed/bcc551/set_c.hpp
+boost/mpl/aux_/preprocessed/bcc551/shift_left.hpp
+boost/mpl/aux_/preprocessed/bcc551/shift_right.hpp
+boost/mpl/aux_/preprocessed/bcc551/template_arity.hpp
+boost/mpl/aux_/preprocessed/bcc551/times.hpp
+boost/mpl/aux_/preprocessed/bcc551/unpack_args.hpp
+boost/mpl/aux_/preprocessed/bcc551/vector.hpp
+boost/mpl/aux_/preprocessed/bcc551/vector_c.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/advance_backward.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/advance_forward.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/and.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/apply.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/arg.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/basic_bind.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/bind.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/bitand.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/bitor.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/bitxor.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/deque.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/divides.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/full_lambda.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/greater.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/greater_equal.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/inherit.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/less.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/less_equal.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/list.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/list_c.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/map.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/minus.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/modulus.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/or.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/placeholders.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/plus.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/quote.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/set.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/set_c.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/shift_left.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/shift_right.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/template_arity.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/times.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/unpack_args.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/vector.hpp
+boost/mpl/aux_/preprocessed/bcc_pre590/vector_c.hpp
+boost/mpl/aux_/preprocessed/dmc/advance_backward.hpp
+boost/mpl/aux_/preprocessed/dmc/advance_forward.hpp
+boost/mpl/aux_/preprocessed/dmc/and.hpp
+boost/mpl/aux_/preprocessed/dmc/apply.hpp
+boost/mpl/aux_/preprocessed/dmc/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/dmc/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/dmc/arg.hpp
+boost/mpl/aux_/preprocessed/dmc/basic_bind.hpp
+boost/mpl/aux_/preprocessed/dmc/bind.hpp
+boost/mpl/aux_/preprocessed/dmc/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/dmc/bitand.hpp
+boost/mpl/aux_/preprocessed/dmc/bitor.hpp
+boost/mpl/aux_/preprocessed/dmc/bitxor.hpp
+boost/mpl/aux_/preprocessed/dmc/deque.hpp
+boost/mpl/aux_/preprocessed/dmc/divides.hpp
+boost/mpl/aux_/preprocessed/dmc/equal_to.hpp
+boost/mpl/aux_/preprocessed/dmc/fold_impl.hpp
+boost/mpl/aux_/preprocessed/dmc/full_lambda.hpp
+boost/mpl/aux_/preprocessed/dmc/greater.hpp
+boost/mpl/aux_/preprocessed/dmc/greater_equal.hpp
+boost/mpl/aux_/preprocessed/dmc/inherit.hpp
+boost/mpl/aux_/preprocessed/dmc/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/dmc/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/dmc/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/dmc/less.hpp
+boost/mpl/aux_/preprocessed/dmc/less_equal.hpp
+boost/mpl/aux_/preprocessed/dmc/list.hpp
+boost/mpl/aux_/preprocessed/dmc/list_c.hpp
+boost/mpl/aux_/preprocessed/dmc/map.hpp
+boost/mpl/aux_/preprocessed/dmc/minus.hpp
+boost/mpl/aux_/preprocessed/dmc/modulus.hpp
+boost/mpl/aux_/preprocessed/dmc/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/dmc/or.hpp
+boost/mpl/aux_/preprocessed/dmc/placeholders.hpp
+boost/mpl/aux_/preprocessed/dmc/plus.hpp
+boost/mpl/aux_/preprocessed/dmc/quote.hpp
+boost/mpl/aux_/preprocessed/dmc/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/dmc/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/dmc/set.hpp
+boost/mpl/aux_/preprocessed/dmc/set_c.hpp
+boost/mpl/aux_/preprocessed/dmc/shift_left.hpp
+boost/mpl/aux_/preprocessed/dmc/shift_right.hpp
+boost/mpl/aux_/preprocessed/dmc/template_arity.hpp
+boost/mpl/aux_/preprocessed/dmc/times.hpp
+boost/mpl/aux_/preprocessed/dmc/unpack_args.hpp
+boost/mpl/aux_/preprocessed/dmc/vector.hpp
+boost/mpl/aux_/preprocessed/dmc/vector_c.hpp
+boost/mpl/aux_/preprocessed/gcc/advance_backward.hpp
+boost/mpl/aux_/preprocessed/gcc/advance_forward.hpp
+boost/mpl/aux_/preprocessed/gcc/and.hpp
+boost/mpl/aux_/preprocessed/gcc/apply.hpp
+boost/mpl/aux_/preprocessed/gcc/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/gcc/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/gcc/arg.hpp
+boost/mpl/aux_/preprocessed/gcc/basic_bind.hpp
+boost/mpl/aux_/preprocessed/gcc/bind.hpp
+boost/mpl/aux_/preprocessed/gcc/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/gcc/bitand.hpp
+boost/mpl/aux_/preprocessed/gcc/bitor.hpp
+boost/mpl/aux_/preprocessed/gcc/bitxor.hpp
+boost/mpl/aux_/preprocessed/gcc/deque.hpp
+boost/mpl/aux_/preprocessed/gcc/divides.hpp
+boost/mpl/aux_/preprocessed/gcc/equal_to.hpp
+boost/mpl/aux_/preprocessed/gcc/fold_impl.hpp
+boost/mpl/aux_/preprocessed/gcc/full_lambda.hpp
+boost/mpl/aux_/preprocessed/gcc/greater.hpp
+boost/mpl/aux_/preprocessed/gcc/greater_equal.hpp
+boost/mpl/aux_/preprocessed/gcc/inherit.hpp
+boost/mpl/aux_/preprocessed/gcc/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/gcc/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/gcc/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/gcc/less.hpp
+boost/mpl/aux_/preprocessed/gcc/less_equal.hpp
+boost/mpl/aux_/preprocessed/gcc/list.hpp
+boost/mpl/aux_/preprocessed/gcc/list_c.hpp
+boost/mpl/aux_/preprocessed/gcc/map.hpp
+boost/mpl/aux_/preprocessed/gcc/minus.hpp
+boost/mpl/aux_/preprocessed/gcc/modulus.hpp
+boost/mpl/aux_/preprocessed/gcc/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/gcc/or.hpp
+boost/mpl/aux_/preprocessed/gcc/placeholders.hpp
+boost/mpl/aux_/preprocessed/gcc/plus.hpp
+boost/mpl/aux_/preprocessed/gcc/quote.hpp
+boost/mpl/aux_/preprocessed/gcc/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/gcc/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/gcc/set.hpp
+boost/mpl/aux_/preprocessed/gcc/set_c.hpp
+boost/mpl/aux_/preprocessed/gcc/shift_left.hpp
+boost/mpl/aux_/preprocessed/gcc/shift_right.hpp
+boost/mpl/aux_/preprocessed/gcc/template_arity.hpp
+boost/mpl/aux_/preprocessed/gcc/times.hpp
+boost/mpl/aux_/preprocessed/gcc/unpack_args.hpp
+boost/mpl/aux_/preprocessed/gcc/vector.hpp
+boost/mpl/aux_/preprocessed/gcc/vector_c.hpp
+boost/mpl/aux_/preprocessed/msvc60/advance_backward.hpp
+boost/mpl/aux_/preprocessed/msvc60/advance_forward.hpp
+boost/mpl/aux_/preprocessed/msvc60/and.hpp
+boost/mpl/aux_/preprocessed/msvc60/apply.hpp
+boost/mpl/aux_/preprocessed/msvc60/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/msvc60/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/msvc60/arg.hpp
+boost/mpl/aux_/preprocessed/msvc60/basic_bind.hpp
+boost/mpl/aux_/preprocessed/msvc60/bind.hpp
+boost/mpl/aux_/preprocessed/msvc60/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/msvc60/bitand.hpp
+boost/mpl/aux_/preprocessed/msvc60/bitor.hpp
+boost/mpl/aux_/preprocessed/msvc60/bitxor.hpp
+boost/mpl/aux_/preprocessed/msvc60/deque.hpp
+boost/mpl/aux_/preprocessed/msvc60/divides.hpp
+boost/mpl/aux_/preprocessed/msvc60/equal_to.hpp
+boost/mpl/aux_/preprocessed/msvc60/fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc60/full_lambda.hpp
+boost/mpl/aux_/preprocessed/msvc60/greater.hpp
+boost/mpl/aux_/preprocessed/msvc60/greater_equal.hpp
+boost/mpl/aux_/preprocessed/msvc60/inherit.hpp
+boost/mpl/aux_/preprocessed/msvc60/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/msvc60/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc60/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/msvc60/less.hpp
+boost/mpl/aux_/preprocessed/msvc60/less_equal.hpp
+boost/mpl/aux_/preprocessed/msvc60/list.hpp
+boost/mpl/aux_/preprocessed/msvc60/list_c.hpp
+boost/mpl/aux_/preprocessed/msvc60/map.hpp
+boost/mpl/aux_/preprocessed/msvc60/minus.hpp
+boost/mpl/aux_/preprocessed/msvc60/modulus.hpp
+boost/mpl/aux_/preprocessed/msvc60/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/msvc60/or.hpp
+boost/mpl/aux_/preprocessed/msvc60/placeholders.hpp
+boost/mpl/aux_/preprocessed/msvc60/plus.hpp
+boost/mpl/aux_/preprocessed/msvc60/quote.hpp
+boost/mpl/aux_/preprocessed/msvc60/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc60/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc60/set.hpp
+boost/mpl/aux_/preprocessed/msvc60/set_c.hpp
+boost/mpl/aux_/preprocessed/msvc60/shift_left.hpp
+boost/mpl/aux_/preprocessed/msvc60/shift_right.hpp
+boost/mpl/aux_/preprocessed/msvc60/template_arity.hpp
+boost/mpl/aux_/preprocessed/msvc60/times.hpp
+boost/mpl/aux_/preprocessed/msvc60/unpack_args.hpp
+boost/mpl/aux_/preprocessed/msvc60/vector.hpp
+boost/mpl/aux_/preprocessed/msvc60/vector_c.hpp
+boost/mpl/aux_/preprocessed/msvc70/advance_backward.hpp
+boost/mpl/aux_/preprocessed/msvc70/advance_forward.hpp
+boost/mpl/aux_/preprocessed/msvc70/and.hpp
+boost/mpl/aux_/preprocessed/msvc70/apply.hpp
+boost/mpl/aux_/preprocessed/msvc70/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/msvc70/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/msvc70/arg.hpp
+boost/mpl/aux_/preprocessed/msvc70/basic_bind.hpp
+boost/mpl/aux_/preprocessed/msvc70/bind.hpp
+boost/mpl/aux_/preprocessed/msvc70/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/msvc70/bitand.hpp
+boost/mpl/aux_/preprocessed/msvc70/bitor.hpp
+boost/mpl/aux_/preprocessed/msvc70/bitxor.hpp
+boost/mpl/aux_/preprocessed/msvc70/deque.hpp
+boost/mpl/aux_/preprocessed/msvc70/divides.hpp
+boost/mpl/aux_/preprocessed/msvc70/equal_to.hpp
+boost/mpl/aux_/preprocessed/msvc70/fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc70/full_lambda.hpp
+boost/mpl/aux_/preprocessed/msvc70/greater.hpp
+boost/mpl/aux_/preprocessed/msvc70/greater_equal.hpp
+boost/mpl/aux_/preprocessed/msvc70/inherit.hpp
+boost/mpl/aux_/preprocessed/msvc70/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/msvc70/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc70/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/msvc70/less.hpp
+boost/mpl/aux_/preprocessed/msvc70/less_equal.hpp
+boost/mpl/aux_/preprocessed/msvc70/list.hpp
+boost/mpl/aux_/preprocessed/msvc70/list_c.hpp
+boost/mpl/aux_/preprocessed/msvc70/map.hpp
+boost/mpl/aux_/preprocessed/msvc70/minus.hpp
+boost/mpl/aux_/preprocessed/msvc70/modulus.hpp
+boost/mpl/aux_/preprocessed/msvc70/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/msvc70/or.hpp
+boost/mpl/aux_/preprocessed/msvc70/placeholders.hpp
+boost/mpl/aux_/preprocessed/msvc70/plus.hpp
+boost/mpl/aux_/preprocessed/msvc70/quote.hpp
+boost/mpl/aux_/preprocessed/msvc70/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc70/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/msvc70/set.hpp
+boost/mpl/aux_/preprocessed/msvc70/set_c.hpp
+boost/mpl/aux_/preprocessed/msvc70/shift_left.hpp
+boost/mpl/aux_/preprocessed/msvc70/shift_right.hpp
+boost/mpl/aux_/preprocessed/msvc70/template_arity.hpp
+boost/mpl/aux_/preprocessed/msvc70/times.hpp
+boost/mpl/aux_/preprocessed/msvc70/unpack_args.hpp
+boost/mpl/aux_/preprocessed/msvc70/vector.hpp
+boost/mpl/aux_/preprocessed/msvc70/vector_c.hpp
+boost/mpl/aux_/preprocessed/mwcw/advance_backward.hpp
+boost/mpl/aux_/preprocessed/mwcw/advance_forward.hpp
+boost/mpl/aux_/preprocessed/mwcw/and.hpp
+boost/mpl/aux_/preprocessed/mwcw/apply.hpp
+boost/mpl/aux_/preprocessed/mwcw/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/mwcw/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/mwcw/arg.hpp
+boost/mpl/aux_/preprocessed/mwcw/basic_bind.hpp
+boost/mpl/aux_/preprocessed/mwcw/bind.hpp
+boost/mpl/aux_/preprocessed/mwcw/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/mwcw/bitand.hpp
+boost/mpl/aux_/preprocessed/mwcw/bitor.hpp
+boost/mpl/aux_/preprocessed/mwcw/bitxor.hpp
+boost/mpl/aux_/preprocessed/mwcw/deque.hpp
+boost/mpl/aux_/preprocessed/mwcw/divides.hpp
+boost/mpl/aux_/preprocessed/mwcw/equal_to.hpp
+boost/mpl/aux_/preprocessed/mwcw/fold_impl.hpp
+boost/mpl/aux_/preprocessed/mwcw/full_lambda.hpp
+boost/mpl/aux_/preprocessed/mwcw/greater.hpp
+boost/mpl/aux_/preprocessed/mwcw/greater_equal.hpp
+boost/mpl/aux_/preprocessed/mwcw/inherit.hpp
+boost/mpl/aux_/preprocessed/mwcw/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/mwcw/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/mwcw/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/mwcw/less.hpp
+boost/mpl/aux_/preprocessed/mwcw/less_equal.hpp
+boost/mpl/aux_/preprocessed/mwcw/list.hpp
+boost/mpl/aux_/preprocessed/mwcw/list_c.hpp
+boost/mpl/aux_/preprocessed/mwcw/map.hpp
+boost/mpl/aux_/preprocessed/mwcw/minus.hpp
+boost/mpl/aux_/preprocessed/mwcw/modulus.hpp
+boost/mpl/aux_/preprocessed/mwcw/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/mwcw/or.hpp
+boost/mpl/aux_/preprocessed/mwcw/placeholders.hpp
+boost/mpl/aux_/preprocessed/mwcw/plus.hpp
+boost/mpl/aux_/preprocessed/mwcw/quote.hpp
+boost/mpl/aux_/preprocessed/mwcw/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/mwcw/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/mwcw/set.hpp
+boost/mpl/aux_/preprocessed/mwcw/set_c.hpp
+boost/mpl/aux_/preprocessed/mwcw/shift_left.hpp
+boost/mpl/aux_/preprocessed/mwcw/shift_right.hpp
+boost/mpl/aux_/preprocessed/mwcw/template_arity.hpp
+boost/mpl/aux_/preprocessed/mwcw/times.hpp
+boost/mpl/aux_/preprocessed/mwcw/unpack_args.hpp
+boost/mpl/aux_/preprocessed/mwcw/vector.hpp
+boost/mpl/aux_/preprocessed/mwcw/vector_c.hpp
+boost/mpl/aux_/preprocessed/no_ctps/advance_backward.hpp
+boost/mpl/aux_/preprocessed/no_ctps/advance_forward.hpp
+boost/mpl/aux_/preprocessed/no_ctps/and.hpp
+boost/mpl/aux_/preprocessed/no_ctps/apply.hpp
+boost/mpl/aux_/preprocessed/no_ctps/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/no_ctps/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/no_ctps/arg.hpp
+boost/mpl/aux_/preprocessed/no_ctps/basic_bind.hpp
+boost/mpl/aux_/preprocessed/no_ctps/bind.hpp
+boost/mpl/aux_/preprocessed/no_ctps/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/no_ctps/bitand.hpp
+boost/mpl/aux_/preprocessed/no_ctps/bitor.hpp
+boost/mpl/aux_/preprocessed/no_ctps/bitxor.hpp
+boost/mpl/aux_/preprocessed/no_ctps/deque.hpp
+boost/mpl/aux_/preprocessed/no_ctps/divides.hpp
+boost/mpl/aux_/preprocessed/no_ctps/equal_to.hpp
+boost/mpl/aux_/preprocessed/no_ctps/fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ctps/full_lambda.hpp
+boost/mpl/aux_/preprocessed/no_ctps/greater.hpp
+boost/mpl/aux_/preprocessed/no_ctps/greater_equal.hpp
+boost/mpl/aux_/preprocessed/no_ctps/inherit.hpp
+boost/mpl/aux_/preprocessed/no_ctps/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/no_ctps/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ctps/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/no_ctps/less.hpp
+boost/mpl/aux_/preprocessed/no_ctps/less_equal.hpp
+boost/mpl/aux_/preprocessed/no_ctps/list.hpp
+boost/mpl/aux_/preprocessed/no_ctps/list_c.hpp
+boost/mpl/aux_/preprocessed/no_ctps/map.hpp
+boost/mpl/aux_/preprocessed/no_ctps/minus.hpp
+boost/mpl/aux_/preprocessed/no_ctps/modulus.hpp
+boost/mpl/aux_/preprocessed/no_ctps/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/no_ctps/or.hpp
+boost/mpl/aux_/preprocessed/no_ctps/placeholders.hpp
+boost/mpl/aux_/preprocessed/no_ctps/plus.hpp
+boost/mpl/aux_/preprocessed/no_ctps/quote.hpp
+boost/mpl/aux_/preprocessed/no_ctps/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ctps/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ctps/set.hpp
+boost/mpl/aux_/preprocessed/no_ctps/set_c.hpp
+boost/mpl/aux_/preprocessed/no_ctps/shift_left.hpp
+boost/mpl/aux_/preprocessed/no_ctps/shift_right.hpp
+boost/mpl/aux_/preprocessed/no_ctps/template_arity.hpp
+boost/mpl/aux_/preprocessed/no_ctps/times.hpp
+boost/mpl/aux_/preprocessed/no_ctps/unpack_args.hpp
+boost/mpl/aux_/preprocessed/no_ctps/vector.hpp
+boost/mpl/aux_/preprocessed/no_ctps/vector_c.hpp
+boost/mpl/aux_/preprocessed/no_ttp/advance_backward.hpp
+boost/mpl/aux_/preprocessed/no_ttp/advance_forward.hpp
+boost/mpl/aux_/preprocessed/no_ttp/and.hpp
+boost/mpl/aux_/preprocessed/no_ttp/apply.hpp
+boost/mpl/aux_/preprocessed/no_ttp/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/no_ttp/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/no_ttp/arg.hpp
+boost/mpl/aux_/preprocessed/no_ttp/basic_bind.hpp
+boost/mpl/aux_/preprocessed/no_ttp/bind.hpp
+boost/mpl/aux_/preprocessed/no_ttp/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/no_ttp/bitand.hpp
+boost/mpl/aux_/preprocessed/no_ttp/bitor.hpp
+boost/mpl/aux_/preprocessed/no_ttp/bitxor.hpp
+boost/mpl/aux_/preprocessed/no_ttp/deque.hpp
+boost/mpl/aux_/preprocessed/no_ttp/divides.hpp
+boost/mpl/aux_/preprocessed/no_ttp/equal_to.hpp
+boost/mpl/aux_/preprocessed/no_ttp/fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ttp/full_lambda.hpp
+boost/mpl/aux_/preprocessed/no_ttp/greater.hpp
+boost/mpl/aux_/preprocessed/no_ttp/greater_equal.hpp
+boost/mpl/aux_/preprocessed/no_ttp/inherit.hpp
+boost/mpl/aux_/preprocessed/no_ttp/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/no_ttp/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ttp/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/no_ttp/less.hpp
+boost/mpl/aux_/preprocessed/no_ttp/less_equal.hpp
+boost/mpl/aux_/preprocessed/no_ttp/list.hpp
+boost/mpl/aux_/preprocessed/no_ttp/list_c.hpp
+boost/mpl/aux_/preprocessed/no_ttp/map.hpp
+boost/mpl/aux_/preprocessed/no_ttp/minus.hpp
+boost/mpl/aux_/preprocessed/no_ttp/modulus.hpp
+boost/mpl/aux_/preprocessed/no_ttp/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/no_ttp/or.hpp
+boost/mpl/aux_/preprocessed/no_ttp/placeholders.hpp
+boost/mpl/aux_/preprocessed/no_ttp/plus.hpp
+boost/mpl/aux_/preprocessed/no_ttp/quote.hpp
+boost/mpl/aux_/preprocessed/no_ttp/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ttp/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/no_ttp/set.hpp
+boost/mpl/aux_/preprocessed/no_ttp/set_c.hpp
+boost/mpl/aux_/preprocessed/no_ttp/shift_left.hpp
+boost/mpl/aux_/preprocessed/no_ttp/shift_right.hpp
+boost/mpl/aux_/preprocessed/no_ttp/template_arity.hpp
+boost/mpl/aux_/preprocessed/no_ttp/times.hpp
+boost/mpl/aux_/preprocessed/no_ttp/unpack_args.hpp
+boost/mpl/aux_/preprocessed/no_ttp/vector.hpp
+boost/mpl/aux_/preprocessed/no_ttp/vector_c.hpp
+boost/mpl/aux_/preprocessed/plain/advance_backward.hpp
+boost/mpl/aux_/preprocessed/plain/advance_forward.hpp
+boost/mpl/aux_/preprocessed/plain/and.hpp
+boost/mpl/aux_/preprocessed/plain/apply.hpp
+boost/mpl/aux_/preprocessed/plain/apply_fwd.hpp
+boost/mpl/aux_/preprocessed/plain/apply_wrap.hpp
+boost/mpl/aux_/preprocessed/plain/arg.hpp
+boost/mpl/aux_/preprocessed/plain/basic_bind.hpp
+boost/mpl/aux_/preprocessed/plain/bind.hpp
+boost/mpl/aux_/preprocessed/plain/bind_fwd.hpp
+boost/mpl/aux_/preprocessed/plain/bitand.hpp
+boost/mpl/aux_/preprocessed/plain/bitor.hpp
+boost/mpl/aux_/preprocessed/plain/bitxor.hpp
+boost/mpl/aux_/preprocessed/plain/deque.hpp
+boost/mpl/aux_/preprocessed/plain/divides.hpp
+boost/mpl/aux_/preprocessed/plain/equal_to.hpp
+boost/mpl/aux_/preprocessed/plain/fold_impl.hpp
+boost/mpl/aux_/preprocessed/plain/full_lambda.hpp
+boost/mpl/aux_/preprocessed/plain/greater.hpp
+boost/mpl/aux_/preprocessed/plain/greater_equal.hpp
+boost/mpl/aux_/preprocessed/plain/inherit.hpp
+boost/mpl/aux_/preprocessed/plain/iter_fold_if_impl.hpp
+boost/mpl/aux_/preprocessed/plain/iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/plain/lambda_no_ctps.hpp
+boost/mpl/aux_/preprocessed/plain/less.hpp
+boost/mpl/aux_/preprocessed/plain/less_equal.hpp
+boost/mpl/aux_/preprocessed/plain/list.hpp
+boost/mpl/aux_/preprocessed/plain/list_c.hpp
+boost/mpl/aux_/preprocessed/plain/map.hpp
+boost/mpl/aux_/preprocessed/plain/minus.hpp
+boost/mpl/aux_/preprocessed/plain/modulus.hpp
+boost/mpl/aux_/preprocessed/plain/not_equal_to.hpp
+boost/mpl/aux_/preprocessed/plain/or.hpp
+boost/mpl/aux_/preprocessed/plain/placeholders.hpp
+boost/mpl/aux_/preprocessed/plain/plus.hpp
+boost/mpl/aux_/preprocessed/plain/quote.hpp
+boost/mpl/aux_/preprocessed/plain/reverse_fold_impl.hpp
+boost/mpl/aux_/preprocessed/plain/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/preprocessed/plain/set.hpp
+boost/mpl/aux_/preprocessed/plain/set_c.hpp
+boost/mpl/aux_/preprocessed/plain/shift_left.hpp
+boost/mpl/aux_/preprocessed/plain/shift_right.hpp
+boost/mpl/aux_/preprocessed/plain/template_arity.hpp
+boost/mpl/aux_/preprocessed/plain/times.hpp
+boost/mpl/aux_/preprocessed/plain/unpack_args.hpp
+boost/mpl/aux_/preprocessed/plain/vector.hpp
+boost/mpl/aux_/preprocessed/plain/vector_c.hpp
+boost/mpl/aux_/preprocessor/add.hpp
+boost/mpl/aux_/preprocessor/def_params_tail.hpp
+boost/mpl/aux_/preprocessor/default_params.hpp
+boost/mpl/aux_/preprocessor/enum.hpp
+boost/mpl/aux_/preprocessor/ext_params.hpp
+boost/mpl/aux_/preprocessor/filter_params.hpp
+boost/mpl/aux_/preprocessor/params.hpp
+boost/mpl/aux_/preprocessor/partial_spec_params.hpp
+boost/mpl/aux_/preprocessor/range.hpp
+boost/mpl/aux_/preprocessor/repeat.hpp
+boost/mpl/aux_/preprocessor/sub.hpp
+boost/mpl/aux_/preprocessor/tuple.hpp
+boost/mpl/aux_/ptr_to_ref.hpp
+boost/mpl/aux_/push_back_impl.hpp
+boost/mpl/aux_/push_front_impl.hpp
+boost/mpl/aux_/reverse_fold_impl.hpp
+boost/mpl/aux_/reverse_fold_impl_body.hpp
+boost/mpl/aux_/reverse_iter_fold_impl.hpp
+boost/mpl/aux_/sequence_wrapper.hpp
+boost/mpl/aux_/size_impl.hpp
+boost/mpl/aux_/static_cast.hpp
+boost/mpl/aux_/template_arity.hpp
+boost/mpl/aux_/template_arity_fwd.hpp
+boost/mpl/aux_/traits_lambda_spec.hpp
+boost/mpl/aux_/type_wrapper.hpp
+boost/mpl/aux_/value_wknd.hpp
+boost/mpl/aux_/yes_no.hpp
+boost/mpl/back_fwd.hpp
+boost/mpl/back_inserter.hpp
+boost/mpl/base.hpp
+boost/mpl/begin_end.hpp
+boost/mpl/begin_end_fwd.hpp
+boost/mpl/bind.hpp
+boost/mpl/bind_fwd.hpp
+boost/mpl/bool.hpp
+boost/mpl/bool_fwd.hpp
+boost/mpl/clear.hpp
+boost/mpl/clear_fwd.hpp
+boost/mpl/contains.hpp
+boost/mpl/contains_fwd.hpp
+boost/mpl/deref.hpp
+boost/mpl/distance.hpp
+boost/mpl/distance_fwd.hpp
+boost/mpl/empty.hpp
+boost/mpl/empty_fwd.hpp
+boost/mpl/erase_fwd.hpp
+boost/mpl/erase_key_fwd.hpp
+boost/mpl/eval_if.hpp
+boost/mpl/find.hpp
+boost/mpl/find_if.hpp
+boost/mpl/fold.hpp
+boost/mpl/front_fwd.hpp
+boost/mpl/front_inserter.hpp
+boost/mpl/has_key.hpp
+boost/mpl/has_key_fwd.hpp
+boost/mpl/has_xxx.hpp
+boost/mpl/identity.hpp
+boost/mpl/if.hpp
+boost/mpl/insert_fwd.hpp
+boost/mpl/inserter.hpp
+boost/mpl/int.hpp
+boost/mpl/int_fwd.hpp
+boost/mpl/integral_c.hpp
+boost/mpl/integral_c_fwd.hpp
+boost/mpl/integral_c_tag.hpp
+boost/mpl/is_placeholder.hpp
+boost/mpl/is_sequence.hpp
+boost/mpl/iter_fold.hpp
+boost/mpl/iter_fold_if.hpp
+boost/mpl/iterator_category.hpp
+boost/mpl/iterator_range.hpp
+boost/mpl/iterator_tags.hpp
+boost/mpl/key_type_fwd.hpp
+boost/mpl/lambda.hpp
+boost/mpl/lambda_fwd.hpp
+boost/mpl/less.hpp
+boost/mpl/limits/arity.hpp
+boost/mpl/limits/unrolling.hpp
+boost/mpl/limits/vector.hpp
+boost/mpl/logical.hpp
+boost/mpl/long.hpp
+boost/mpl/long_fwd.hpp
+boost/mpl/min_max.hpp
+boost/mpl/minus.hpp
+boost/mpl/negate.hpp
+boost/mpl/next.hpp
+boost/mpl/next_prior.hpp
+boost/mpl/not.hpp
+boost/mpl/numeric_cast.hpp
+boost/mpl/O1_size.hpp
+boost/mpl/O1_size_fwd.hpp
+boost/mpl/or.hpp
+boost/mpl/pair.hpp
+boost/mpl/pair_view.hpp
+boost/mpl/placeholders.hpp
+boost/mpl/plus.hpp
+boost/mpl/pop_back_fwd.hpp
+boost/mpl/pop_front_fwd.hpp
+boost/mpl/prior.hpp
+boost/mpl/protect.hpp
+boost/mpl/push_back.hpp
+boost/mpl/push_back_fwd.hpp
+boost/mpl/push_front.hpp
+boost/mpl/push_front_fwd.hpp
+boost/mpl/quote.hpp
+boost/mpl/reverse_fold.hpp
+boost/mpl/reverse_iter_fold.hpp
+boost/mpl/same_as.hpp
+boost/mpl/sequence_tag.hpp
+boost/mpl/sequence_tag_fwd.hpp
+boost/mpl/set/aux_/at_impl.hpp
+boost/mpl/set/aux_/begin_end_impl.hpp
+boost/mpl/set/aux_/clear_impl.hpp
+boost/mpl/set/aux_/empty_impl.hpp
+boost/mpl/set/aux_/erase_impl.hpp
+boost/mpl/set/aux_/erase_key_impl.hpp
+boost/mpl/set/aux_/has_key_impl.hpp
+boost/mpl/set/aux_/insert_impl.hpp
+boost/mpl/set/aux_/item.hpp
+boost/mpl/set/aux_/iterator.hpp
+boost/mpl/set/aux_/key_type_impl.hpp
+boost/mpl/set/aux_/set0.hpp
+boost/mpl/set/aux_/size_impl.hpp
+boost/mpl/set/aux_/tag.hpp
+boost/mpl/set/aux_/value_type_impl.hpp
+boost/mpl/set/set0.hpp
+boost/mpl/size.hpp
+boost/mpl/size_fwd.hpp
+boost/mpl/size_t.hpp
+boost/mpl/size_t_fwd.hpp
+boost/mpl/tag.hpp
+boost/mpl/transform.hpp
+boost/mpl/value_type_fwd.hpp
+boost/mpl/vector.hpp
+boost/mpl/vector/aux_/at.hpp
+boost/mpl/vector/aux_/back.hpp
+boost/mpl/vector/aux_/begin_end.hpp
+boost/mpl/vector/aux_/clear.hpp
+boost/mpl/vector/aux_/empty.hpp
+boost/mpl/vector/aux_/front.hpp
+boost/mpl/vector/aux_/include_preprocessed.hpp
+boost/mpl/vector/aux_/item.hpp
+boost/mpl/vector/aux_/iterator.hpp
+boost/mpl/vector/aux_/numbered.hpp
+boost/mpl/vector/aux_/numbered_c.hpp
+boost/mpl/vector/aux_/O1_size.hpp
+boost/mpl/vector/aux_/pop_back.hpp
+boost/mpl/vector/aux_/pop_front.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector10.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector10_c.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector20.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector20_c.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector30.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector30_c.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector40.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector40_c.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector50.hpp
+boost/mpl/vector/aux_/preprocessed/no_ctps/vector50_c.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector10.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector10_c.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector20.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector20_c.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector30.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector30_c.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector40.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector40_c.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector50.hpp
+boost/mpl/vector/aux_/preprocessed/plain/vector50_c.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector10.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector10_c.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector20.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector20_c.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector30.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector30_c.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector40.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector40_c.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector50.hpp
+boost/mpl/vector/aux_/preprocessed/typeof_based/vector50_c.hpp
+boost/mpl/vector/aux_/push_back.hpp
+boost/mpl/vector/aux_/push_front.hpp
+boost/mpl/vector/aux_/size.hpp
+boost/mpl/vector/aux_/tag.hpp
+boost/mpl/vector/aux_/vector0.hpp
+boost/mpl/vector/vector0.hpp
+boost/mpl/vector/vector0_c.hpp
+boost/mpl/vector/vector10.hpp
+boost/mpl/vector/vector10_c.hpp
+boost/mpl/vector/vector20.hpp
+boost/mpl/vector/vector20_c.hpp
+boost/mpl/vector/vector30.hpp
+boost/mpl/vector/vector30_c.hpp
+boost/mpl/vector/vector40.hpp
+boost/mpl/vector/vector40_c.hpp
+boost/mpl/vector/vector50.hpp
+boost/mpl/vector/vector50_c.hpp
+boost/mpl/void.hpp
+boost/mpl/void_fwd.hpp
+boost/multi_index/detail/access_specifier.hpp
+boost/multi_index/detail/adl_swap.hpp
+boost/multi_index/detail/archive_constructed.hpp
+boost/multi_index/detail/auto_space.hpp
+boost/multi_index/detail/base_type.hpp
+boost/multi_index/detail/bidir_node_iterator.hpp
+boost/multi_index/detail/converter.hpp
+boost/multi_index/detail/copy_map.hpp
+boost/multi_index/detail/duplicates_iterator.hpp
+boost/multi_index/detail/has_tag.hpp
+boost/multi_index/detail/header_holder.hpp
+boost/multi_index/detail/index_base.hpp
+boost/multi_index/detail/index_loader.hpp
+boost/multi_index/detail/index_matcher.hpp
+boost/multi_index/detail/index_node_base.hpp
+boost/multi_index/detail/index_saver.hpp
+boost/multi_index/detail/invariant_assert.hpp
+boost/multi_index/detail/is_index_list.hpp
+boost/multi_index/detail/iter_adaptor.hpp
+boost/multi_index/detail/modify_key_adaptor.hpp
+boost/multi_index/detail/msvc_index_specifier.hpp
+boost/multi_index/detail/no_duplicate_tags.hpp
+boost/multi_index/detail/node_type.hpp
+boost/multi_index/detail/ord_index_args.hpp
+boost/multi_index/detail/ord_index_node.hpp
+boost/multi_index/detail/ord_index_ops.hpp
+boost/multi_index/detail/prevent_eti.hpp
+boost/multi_index/detail/safe_ctr_proxy.hpp
+boost/multi_index/detail/safe_mode.hpp
+boost/multi_index/detail/scope_guard.hpp
+boost/multi_index/detail/uintptr_type.hpp
+boost/multi_index/detail/unbounded.hpp
+boost/multi_index/detail/value_compare.hpp
+boost/multi_index/identity.hpp
+boost/multi_index/identity_fwd.hpp
+boost/multi_index/indexed_by.hpp
+boost/multi_index/member.hpp
+boost/multi_index/ordered_index.hpp
+boost/multi_index/ordered_index_fwd.hpp
+boost/multi_index/safe_mode_errors.hpp
+boost/multi_index/tag.hpp
+boost/multi_index_container.hpp
+boost/multi_index_container_fwd.hpp
+boost/next_prior.hpp
+boost/noncopyable.hpp
+boost/operators.hpp
+boost/preprocessor/arithmetic/add.hpp
+boost/preprocessor/arithmetic/dec.hpp
+boost/preprocessor/arithmetic/detail/div_base.hpp
+boost/preprocessor/arithmetic/inc.hpp
+boost/preprocessor/arithmetic/mod.hpp
+boost/preprocessor/arithmetic/sub.hpp
+boost/preprocessor/array/data.hpp
+boost/preprocessor/array/elem.hpp
+boost/preprocessor/array/size.hpp
+boost/preprocessor/cat.hpp
+boost/preprocessor/comma_if.hpp
+boost/preprocessor/comparison/less_equal.hpp
+boost/preprocessor/config/config.hpp
+boost/preprocessor/control/deduce_d.hpp
+boost/preprocessor/control/detail/dmc/while.hpp
+boost/preprocessor/control/detail/edg/while.hpp
+boost/preprocessor/control/detail/msvc/while.hpp
+boost/preprocessor/control/detail/while.hpp
+boost/preprocessor/control/expr_if.hpp
+boost/preprocessor/control/expr_iif.hpp
+boost/preprocessor/control/if.hpp
+boost/preprocessor/control/iif.hpp
+boost/preprocessor/control/while.hpp
+boost/preprocessor/debug/error.hpp
+boost/preprocessor/dec.hpp
+boost/preprocessor/detail/auto_rec.hpp
+boost/preprocessor/detail/check.hpp
+boost/preprocessor/detail/dmc/auto_rec.hpp
+boost/preprocessor/detail/is_binary.hpp
+boost/preprocessor/empty.hpp
+boost/preprocessor/enum.hpp
+boost/preprocessor/enum_params.hpp
+boost/preprocessor/enum_params_with_a_default.hpp
+boost/preprocessor/enum_shifted_params.hpp
+boost/preprocessor/expr_if.hpp
+boost/preprocessor/facilities/empty.hpp
+boost/preprocessor/facilities/identity.hpp
+boost/preprocessor/facilities/intercept.hpp
+boost/preprocessor/identity.hpp
+boost/preprocessor/inc.hpp
+boost/preprocessor/iterate.hpp
+boost/preprocessor/iteration/detail/bounds/lower1.hpp
+boost/preprocessor/iteration/detail/bounds/lower2.hpp
+boost/preprocessor/iteration/detail/bounds/lower3.hpp
+boost/preprocessor/iteration/detail/bounds/lower4.hpp
+boost/preprocessor/iteration/detail/bounds/lower5.hpp
+boost/preprocessor/iteration/detail/bounds/upper1.hpp
+boost/preprocessor/iteration/detail/bounds/upper2.hpp
+boost/preprocessor/iteration/detail/bounds/upper3.hpp
+boost/preprocessor/iteration/detail/bounds/upper4.hpp
+boost/preprocessor/iteration/detail/bounds/upper5.hpp
+boost/preprocessor/iteration/detail/finish.hpp
+boost/preprocessor/iteration/detail/iter/forward1.hpp
+boost/preprocessor/iteration/detail/iter/forward2.hpp
+boost/preprocessor/iteration/detail/iter/forward3.hpp
+boost/preprocessor/iteration/detail/iter/forward4.hpp
+boost/preprocessor/iteration/detail/iter/forward5.hpp
+boost/preprocessor/iteration/detail/iter/reverse1.hpp
+boost/preprocessor/iteration/detail/iter/reverse2.hpp
+boost/preprocessor/iteration/detail/iter/reverse3.hpp
+boost/preprocessor/iteration/detail/iter/reverse4.hpp
+boost/preprocessor/iteration/detail/iter/reverse5.hpp
+boost/preprocessor/iteration/detail/local.hpp
+boost/preprocessor/iteration/detail/rlocal.hpp
+boost/preprocessor/iteration/detail/self.hpp
+boost/preprocessor/iteration/detail/start.hpp
+boost/preprocessor/iteration/iterate.hpp
+boost/preprocessor/iteration/local.hpp
+boost/preprocessor/iteration/self.hpp
+boost/preprocessor/list/adt.hpp
+boost/preprocessor/list/append.hpp
+boost/preprocessor/list/detail/dmc/fold_left.hpp
+boost/preprocessor/list/detail/edg/fold_left.hpp
+boost/preprocessor/list/detail/edg/fold_right.hpp
+boost/preprocessor/list/detail/fold_left.hpp
+boost/preprocessor/list/detail/fold_right.hpp
+boost/preprocessor/list/fold_left.hpp
+boost/preprocessor/list/fold_right.hpp
+boost/preprocessor/list/for_each_i.hpp
+boost/preprocessor/list/reverse.hpp
+boost/preprocessor/list/transform.hpp
+boost/preprocessor/logical/and.hpp
+boost/preprocessor/logical/bitand.hpp
+boost/preprocessor/logical/bool.hpp
+boost/preprocessor/logical/compl.hpp
+boost/preprocessor/logical/not.hpp
+boost/preprocessor/punctuation/comma.hpp
+boost/preprocessor/punctuation/comma_if.hpp
+boost/preprocessor/repeat.hpp
+boost/preprocessor/repetition/detail/dmc/for.hpp
+boost/preprocessor/repetition/detail/edg/for.hpp
+boost/preprocessor/repetition/detail/for.hpp
+boost/preprocessor/repetition/detail/msvc/for.hpp
+boost/preprocessor/repetition/enum.hpp
+boost/preprocessor/repetition/enum_binary_params.hpp
+boost/preprocessor/repetition/enum_params.hpp
+boost/preprocessor/repetition/enum_params_with_a_default.hpp
+boost/preprocessor/repetition/enum_shifted_params.hpp
+boost/preprocessor/repetition/for.hpp
+boost/preprocessor/repetition/repeat.hpp
+boost/preprocessor/repetition/repeat_from_to.hpp
+boost/preprocessor/seq/cat.hpp
+boost/preprocessor/seq/detail/split.hpp
+boost/preprocessor/seq/elem.hpp
+boost/preprocessor/seq/first_n.hpp
+boost/preprocessor/seq/fold_left.hpp
+boost/preprocessor/seq/rest_n.hpp
+boost/preprocessor/seq/seq.hpp
+boost/preprocessor/seq/size.hpp
+boost/preprocessor/seq/subseq.hpp
+boost/preprocessor/seq/transform.hpp
+boost/preprocessor/slot/detail/counter.hpp
+boost/preprocessor/slot/detail/def.hpp
+boost/preprocessor/slot/detail/shared.hpp
+boost/preprocessor/slot/detail/slot1.hpp
+boost/preprocessor/slot/detail/slot2.hpp
+boost/preprocessor/slot/detail/slot3.hpp
+boost/preprocessor/slot/detail/slot4.hpp
+boost/preprocessor/slot/detail/slot5.hpp
+boost/preprocessor/slot/slot.hpp
+boost/preprocessor/stringize.hpp
+boost/preprocessor/tuple/eat.hpp
+boost/preprocessor/tuple/elem.hpp
+boost/preprocessor/tuple/rem.hpp
+boost/preprocessor/tuple/to_list.hpp
+boost/ref.hpp
+boost/smart_ptr/detail/lightweight_mutex.hpp
+boost/smart_ptr/detail/lwm_nop.hpp
+boost/smart_ptr/detail/lwm_pthreads.hpp
+boost/smart_ptr/detail/lwm_win32_cs.hpp
+boost/static_assert.hpp
+boost/tuple/detail/tuple_basic.hpp
+boost/tuple/detail/tuple_basic_no_partial_spec.hpp
+boost/tuple/tuple.hpp
+boost/type_traits/add_const.hpp
+boost/type_traits/add_cv.hpp
+boost/type_traits/add_pointer.hpp
+boost/type_traits/add_reference.hpp
+boost/type_traits/add_volatile.hpp
+boost/type_traits/aligned_storage.hpp
+boost/type_traits/alignment_of.hpp
+boost/type_traits/arithmetic_traits.hpp
+boost/type_traits/broken_compiler_spec.hpp
+boost/type_traits/composite_traits.hpp
+boost/type_traits/config.hpp
+boost/type_traits/cv_traits.hpp
+boost/type_traits/detail/bool_trait_def.hpp
+boost/type_traits/detail/bool_trait_undef.hpp
+boost/type_traits/detail/cv_traits_impl.hpp
+boost/type_traits/detail/false_result.hpp
+boost/type_traits/detail/ice_and.hpp
+boost/type_traits/detail/ice_eq.hpp
+boost/type_traits/detail/ice_not.hpp
+boost/type_traits/detail/ice_or.hpp
+boost/type_traits/detail/is_function_ptr_helper.hpp
+boost/type_traits/detail/is_function_ptr_tester.hpp
+boost/type_traits/detail/is_mem_fun_pointer_impl.hpp
+boost/type_traits/detail/is_mem_fun_pointer_tester.hpp
+boost/type_traits/detail/size_t_trait_def.hpp
+boost/type_traits/detail/size_t_trait_undef.hpp
+boost/type_traits/detail/template_arity_spec.hpp
+boost/type_traits/detail/type_trait_def.hpp
+boost/type_traits/detail/type_trait_undef.hpp
+boost/type_traits/detail/wrap.hpp
+boost/type_traits/detail/yes_no_type.hpp
+boost/type_traits/function_traits.hpp
+boost/type_traits/ice.hpp
+boost/type_traits/integral_constant.hpp
+boost/type_traits/intrinsics.hpp
+boost/type_traits/is_abstract.hpp
+boost/type_traits/is_arithmetic.hpp
+boost/type_traits/is_array.hpp
+boost/type_traits/is_base_and_derived.hpp
+boost/type_traits/is_class.hpp
+boost/type_traits/is_const.hpp
+boost/type_traits/is_convertible.hpp
+boost/type_traits/is_enum.hpp
+boost/type_traits/is_float.hpp
+boost/type_traits/is_function.hpp
+boost/type_traits/is_fundamental.hpp
+boost/type_traits/is_integral.hpp
+boost/type_traits/is_member_function_pointer.hpp
+boost/type_traits/is_member_pointer.hpp
+boost/type_traits/is_pod.hpp
+boost/type_traits/is_pointer.hpp
+boost/type_traits/is_polymorphic.hpp
+boost/type_traits/is_reference.hpp
+boost/type_traits/is_same.hpp
+boost/type_traits/is_scalar.hpp
+boost/type_traits/is_union.hpp
+boost/type_traits/is_void.hpp
+boost/type_traits/is_volatile.hpp
+boost/type_traits/msvc/remove_bounds.hpp
+boost/type_traits/msvc/remove_const.hpp
+boost/type_traits/msvc/remove_cv.hpp
+boost/type_traits/msvc/remove_pointer.hpp
+boost/type_traits/msvc/remove_reference.hpp
+boost/type_traits/msvc/remove_volatile.hpp
+boost/type_traits/msvc/typeof.hpp
+boost/type_traits/remove_bounds.hpp
+boost/type_traits/remove_const.hpp
+boost/type_traits/remove_cv.hpp
+boost/type_traits/remove_pointer.hpp
+boost/type_traits/remove_reference.hpp
+boost/type_traits/remove_volatile.hpp
+boost/type_traits/type_with_alignment.hpp
+boost/utility.hpp
+boost/utility/addressof.hpp
+boost/utility/base_from_member.hpp
+boost/utility/binary.hpp
+boost/utility/enable_if.hpp
+boost/version.hpp \ No newline at end of file
diff --git a/depends/processor.sh b/depends/processor.sh
new file mode 100755
index 00000000..e76a753a
--- /dev/null
+++ b/depends/processor.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+exec 3< cpfile
+while read <&3
+do echo $REPLY | cpio -pvdm cleansed
+done
+exec 3>&-
diff --git a/library/DFMemInfo.cpp b/library/DFMemInfo.cpp
index be2671a5..2fe2c543 100644
--- a/library/DFMemInfo.cpp
+++ b/library/DFMemInfo.cpp
@@ -28,6 +28,8 @@ distribution.
#define BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING
#define BOOST_MULTI_INDEX_ENABLE_SAFE_MODE
#endif
+// really, we don't need it
+#define BOOST_MULTI_INDEX_DISABLE_SERIALIZATION
#include <boost/multi_index_container.hpp>
#include <boost/multi_index/member.hpp>
diff --git a/precompiled/linux/libdfconnect.so b/precompiled/linux/libdfconnect.so
index fa88bc0a..9d90a8d3 100755
--- a/precompiled/linux/libdfconnect.so
+++ b/precompiled/linux/libdfconnect.so
Binary files differ
diff --git a/shmserver/shms-linux.cpp b/shmserver/shms-linux.cpp
index 0cc18edc..c11850b8 100644
--- a/shmserver/shms-linux.cpp
+++ b/shmserver/shms-linux.cpp
@@ -41,45 +41,6 @@ distribution.
#include <sys/syscall.h>
#include <signal.h>
-/*
- * wait for futex
- * futex has to be aligned to 4 bytes
- * futex has to be equal to val (returns EWOULDBLOCK otherwise)
- * wait can be broken by arriving signals (returns EINTR)
- * returns 0 when broken by futex_wake
- */
-inline int futex_wait(int * futex, int val)
-{
- return syscall(SYS_futex, futex, FUTEX_WAIT, val, 0, 0, 0);
-}
-/*
- * wait for futex
- * futex has to be aligned to 4 bytes
- * futex has to be equal to val (returns EWOULDBLOCK otherwise)
- * wait can be broken by arriving signals (returns EINTR)
- * returns 0 when broken by futex_wake
- * returns ETIMEDOUT on timeout
- */
-inline int futex_wait_timed(int * futex, int val, const struct timespec *timeout)
-{
- return syscall(SYS_futex, futex, FUTEX_WAIT, val, timeout, 0, 0);
-}
-/*
- * wake up futex. returns number of waked processes
- */
-inline int futex_wake(int * futex)
-{
- return syscall(SYS_futex, futex, FUTEX_WAKE, 1, 0, 0, 0);
-}
-static timespec one_second = { 1,0 };
-static timespec five_second = { 5,0 };
-
-
-// ptr to the real functions
-static void (*_SDL_GL_SwapBuffers)(void) = 0;
-static void (*_SDL_Quit)(void) = 0;
-static int (*_SDL_Init)(uint32_t flags) = 0;
-static int (*_SDL_Flip)(void * some_ptr) = 0;
// various crud
int counter = 0;
int errorstate = 0;
@@ -87,6 +48,23 @@ char *shm = 0;
int shmid = 0;
bool inited = 0;
+/*******************************************************************************
+* SHM part starts here *
+*******************************************************************************/
+
+// FIXME: add error checking?
+bool isValidSHM()
+{
+ shmid_ds descriptor;
+ shmctl(shmid, IPC_STAT, &descriptor);
+ //fprintf(stderr,"ID %d, attached: %d\n",shmid, descriptor.shm_nattch);
+ return (descriptor.shm_nattch == 2);
+}
+uint32_t getPID()
+{
+ return getpid();
+}
+
void SHM_Init ( void )
{
// check that we do this only once per process
@@ -100,7 +78,8 @@ void SHM_Init ( void )
// name for the segment
key_t key = 123466;
- // find previous segment, check if it's used by some processes. if it isn't, kill it with fire
+ // find previous segment, check if it's used by some processes.
+ // if it isn't, kill it with fire
if ((shmid = shmget(key, SHM_SIZE, 0600)) != -1)
{
shmid_ds descriptor;
@@ -127,22 +106,37 @@ void SHM_Init ( void )
return;
}
full_barrier
- ((shm_cmd *)shm)->pingpong = DFPP_RUNNING; // make sure we don't stall or do crazy stuff
+ // make sure we don't stall or do crazy stuff
+ ((shm_cmd *)shm)->pingpong = DFPP_RUNNING;
}
void SHM_Destroy ( void )
{
- shmid_ds descriptor;
- shmctl(shmid, IPC_STAT, &descriptor);
- shmdt(shm);
- while(descriptor.shm_nattch != 0)
+ if(inited && !errorstate)
{
+ shmid_ds descriptor;
shmctl(shmid, IPC_STAT, &descriptor);
+ shmdt(shm);
+ while(descriptor.shm_nattch != 0)
+ {
+ shmctl(shmid, IPC_STAT, &descriptor);
+ }
+ shmctl(shmid,IPC_RMID,NULL);
+ fprintf(stderr,"dfhack: destroyed shared segment.\n");
+ inited = false;
}
- shmctl(shmid,IPC_RMID,NULL);
- fprintf(stderr,"dfhack: destroyed shared segment.\n");
}
+/*******************************************************************************
+* SDL part starts here *
+*******************************************************************************/
+
+// ptr to the real functions
+static void (*_SDL_GL_SwapBuffers)(void) = 0;
+static void (*_SDL_Quit)(void) = 0;
+static int (*_SDL_Init)(uint32_t flags) = 0;
+static int (*_SDL_Flip)(void * some_ptr) = 0;
+
// hook - called every tick in OpenGL mode of DF
extern "C" void SDL_GL_SwapBuffers(void)
{
@@ -169,20 +163,20 @@ extern "C" int SDL_Flip(void * some_ptr)
counter ++;
return _SDL_Flip(some_ptr);
}
+ return 0;
}
// hook - called at program exit
extern "C" void SDL_Quit(void)
{
- if(_SDL_Quit)
- {
- _SDL_Quit();
- }
if(!errorstate)
{
- fprintf(stderr,"dfhack: DF called SwapBuffers %d times\n", counter);
SHM_Destroy();
}
+ if(_SDL_Quit)
+ {
+ _SDL_Quit();
+ }
}
// hook - called at program start, initialize some stuffs we'll use later
@@ -210,15 +204,60 @@ extern "C" int SDL_Init(uint32_t flags)
return _SDL_Init(flags);
}
-// FIXME: add error checking?
-bool isValidSHM()
+/*******************************************************************************
+* NCURSES part starts here *
+*******************************************************************************/
+
+static int (*_refresh)(void) = 0;
+//extern NCURSES_EXPORT(int) refresh (void);
+extern "C" int refresh (void)
{
- shmid_ds descriptor;
- shmctl(shmid, IPC_STAT, &descriptor);
- //fprintf(stderr,"ID %d, attached: %d\n",shmid, descriptor.shm_nattch);
- return (descriptor.shm_nattch == 2);
+ if(_refresh)
+ {
+ if(!errorstate && ((shm_cmd *)shm)->pingpong != DFPP_RUNNING)
+ {
+ SHM_Act();
+ }
+ counter ++;
+ return _refresh();
+ }
+ return 0;
}
-uint32_t getPID()
+
+static int (*_endwin)(void) = 0;
+//extern NCURSES_EXPORT(int) endwin (void);
+extern "C" int endwin (void)
{
- return getpid();
+ if(!errorstate)
+ {
+ SHM_Destroy();
+ }
+ if(_endwin)
+ {
+ return _endwin();
+ }
+}
+
+typedef void WINDOW;
+//extern NCURSES_EXPORT(WINDOW *) initscr (void);
+static WINDOW * (*_initscr)(void) = 0;
+extern "C" WINDOW * initscr (void)
+{
+ // find real functions
+ _refresh = (int (*)( void )) dlsym(RTLD_NEXT, "refresh");
+ _endwin = (int (*)( void )) dlsym(RTLD_NEXT, "endwin");
+ _initscr = (WINDOW * (*)( void )) dlsym(RTLD_NEXT, "initscr");
+ // check if we got them
+ if(_refresh && _endwin && _initscr)
+ {
+ fprintf(stderr,"dfhack: hooking successful\n");
+ }
+ else
+ {
+ // bail, this would be a disaster otherwise
+ fprintf(stderr,"dfhack: something went horribly wrong\n");
+ exit(1);
+ }
+ SHM_Init();
+ return _initscr();
} \ No newline at end of file