Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55767 - in sandbox/SOC/2009/fusion: . boost/fusion/adapted boost/fusion/adapted/detail/array boost/fusion/adapted/detail/boost_tuple boost/fusion/adapted/detail/mpl boost/fusion/adapted/detail/struct boost/fusion/adapted/struct boost/fusion/algorithm/iteration boost/fusion/algorithm/iteration/detail boost/fusion/algorithm/query boost/fusion/algorithm/query/detail boost/fusion/algorithm/transformation boost/fusion/algorithm/transformation/detail boost/fusion/algorithm/transformation/detail/filter_key_view boost/fusion/algorithm/transformation/detail/pp boost/fusion/algorithm/transformation/detail/variadic_templates boost/fusion/container/detail boost/fusion/container/detail/pp boost/fusion/container/detail/variadic_templates boost/fusion/container/generation boost/fusion/container/generation/detail boost/fusion/container/generation/detail/pp boost/fusion/container/generation/detail/variadic_templates boost/fusion/container/list boost/fusion/container/list/detail/cons boost/fusion/container/list/detail/list boost/fusion/container/map boost/fusion/container/map/detail boost/fusion/container/set boost/fusion/container/set/detail boost/fusion/container/vector boost/fusion/container/vector/detail boost/fusion/container/vector/detail/pp boost/fusion/container/vector/detail/variadic_templates boost/fusion/functional/adapter boost/fusion/functional/adapter/detail/0x boost/fusion/functional/generation/detail boost/fusion/functional/invocation boost/fusion/functional/invocation/detail/0x boost/fusion/include boost/fusion/iterator boost/fusion/iterator/detail boost/fusion/mpl boost/fusion/sequence boost/fusion/sequence/comparison boost/fusion/sequence/comparison/detail boost/fusion/sequence/intrinsic boost/fusion/support boost/fusion/support/internal boost/fusion/support/internal/variadic_templates boost/fusion/support/internal/variadic_templates/detail boost/fusion/tuple boost/fusion/view/detail boost/fusion/view/filter_view boost/fusion/view/filter_view/detail boost/fusion/view/iterator_range boost/fusion/view/iterator_range/detail boost/fusion/view/joint_view boost/fusion/view/joint_view/detail boost/fusion/view/repetitive_view boost/fusion/view/repetitive_view/detail boost/fusion/view/reverse_view boost/fusion/view/reverse_view/detail boost/fusion/view/single_view boost/fusion/view/single_view/detail boost/fusion/view/transform_view boost/fusion/view/transform_view/detail boost/fusion/view/zip_view boost/fusion/view/zip_view/detail libs/fusion/example/performance libs/fusion/example/test libs/fusion/test/sequence
From: mr.chr.schmidt_at_[hidden]
Date: 2009-08-24 16:18:38


Author: cschmidt
Date: 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
New Revision: 55767
URL: http://svn.boost.org/trac/boost/changeset/55767

Log:
cleanup, bugfixes & optimizations
Removed:
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/as_fusion_element.hpp
Text files modified:
   sandbox/SOC/2009/fusion/boost-build.jam | 11
   sandbox/SOC/2009/fusion/boost/fusion/adapted/array.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_array.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/is_view_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp | 18 ++
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp | 21 +-
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp | 35 ++++
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp | 31 +--
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_array.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp | 26 ++
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 32 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp | 168 +++++++++------------
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp | 25 ++-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/filter_key_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp | 23 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/is_in_seq.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp | 5
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp | 5
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp | 15 -
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/zip.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_ctor.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_ctor.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_ctor.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/make_seq.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp | 16 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp | 18 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp | 18 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/pair_tie.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_iterator.hpp | 16 +
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/next_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_at_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/begin_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/end_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp | 27 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/list/limits.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/limits.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/map/map_fwd.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/limits.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/container/set/set_fwd.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp | 56 ++----
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp | 113 +++++++-------
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp | 103 ++++--------
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp | 25 ++-
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp | 14 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector.hpp | 300 ++++++++++++++++++++++++++++-----------
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp | 31 ++--
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/limits.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector20.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector30.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector40.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector50.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_fwd.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/fused_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/unfused_impl.hpp | 16 +-
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/advance_c.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/boost_array.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/deref_data.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/find_key.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/key_of.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/std_array.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/value_at_c.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/include/value_of_data.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/iterator/advance_c.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp | 27 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp | 26 +--
   sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp | 15 -
   sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp | 16 +
   sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp | 17 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp | 13 -
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp | 13 +
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp | 45 ++++-
   sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp | 169 ++++++++++++++--------
   sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp | 34 ++--
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/assert.hpp | 16 +
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/assign_tags.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp | 16 -
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp | 109 ++-----------
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/sequence_assign.hpp | 13 +
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/template.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_n.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_quote.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp | 12 +
   sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 5
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/iterator_range_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp | 24 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp | 26 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/distance_impl.hpp | 31 ++--
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp | 46 ++----
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/equal_to_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_fwd.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp | 37 ++++
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp | 25 ++-
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp | 21 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_iterator.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/advance_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/at_impl.hpp | 16 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp | 10 +
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_at_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp | 69 ++++----
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_fwd.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/distance_impl.hpp | 26 +--
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/equal_to_impl.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_at_impl.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_of_impl.hpp | 15 +
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_fwd.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp | 16 +
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp | 17 +
   sandbox/SOC/2009/fusion/build.bat | 13 +
   sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp | 12 +
   sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp | 6
   sandbox/SOC/2009/fusion/libs/fusion/example/test/Jamfile.v2 | 11
   sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp | 25 ++
   sandbox/SOC/2009/fusion/libs/fusion/test/sequence/deduce_sequence.cpp | 6
   sandbox/SOC/2009/fusion/libs/fusion/test/sequence/vector_n.cpp | 6
   sandbox/SOC/2009/fusion/project-root.jam | 18 +
   321 files changed, 2336 insertions(+), 1708 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost-build.jam
==============================================================================
--- sandbox/SOC/2009/fusion/boost-build.jam (original)
+++ sandbox/SOC/2009/fusion/boost-build.jam 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,9 @@
-# Copyright Christopher Schmidt 2009.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
+# Copyright (c) 2009 Christopher Schmidt
+#
+# Use, modification and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
 
 boost-build $(BOOST_ROOT)/tools/build/v2 ;

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/array.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/array.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/array.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_ARRAY_HPP
 #define BOOST_FUSION_ADAPTED_ARRAY_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_array.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_array.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_array.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_BOOST_ARRAY_HPP
 #define BOOST_FUSION_ADAPTED_BOOST_ARRAY_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -8,7 +8,7 @@
 #ifndef BOOST_FUSION_ADAPTED_BOOST_TUPLE_HPP
 #define BOOST_FUSION_ADAPTED_BOOST_TUPLE_HPP
 
-//TODO adapt std::(tr1::)tuple
+//TODO adapt std::(tr1::)tuple upper limit!!!
 
 #include <boost/fusion/support/internal/ref.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_ARRAY_DEREF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_ARRAY_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/is_view_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -11,7 +11,6 @@
 
 #include <boost/mpl/bool.hpp>
 
-//TODO doc!!!
 namespace boost { namespace fusion { namespace extension
 {
     template<typename Tag>

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/tag_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,11 +1,13 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
+#include <boost/config.hpp>
 #include <boost/fusion/support/tag_of_fwd.hpp>
 
 #include <cstddef>
@@ -24,17 +26,27 @@
 
     namespace traits
     {
-#define BOOST_FUSION_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# define BOOST_FUSION_ARRAY_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+ template<typename T, std::size_t N>\
+ struct tag_of<\
+ BOOST_FUSION_ADAPTED_ARRAY_NAMESPACE::array<T,N> COMBINATION,void>\
+ {\
+ typedef array_tag type;\
+ };
+#else
+# define BOOST_FUSION_ARRAY_TAG_OF_SPECIALIZATION(COMBINATION,_)\
         template<typename T, std::size_t N>\
         struct tag_of<\
             BOOST_FUSION_ADAPTED_ARRAY_NAMESPACE::array<T,N> COMBINATION>\
         {\
             typedef array_tag type;\
         };
+#endif
 
         BOOST_FUSION_ALL_CV_REF_NON_REF_COMBINATIONS(
- BOOST_FUSION_TAG_OF_SPECIALIZATION,_)
+ BOOST_FUSION_ARRAY_TAG_OF_SPECIALIZATION,_)
 
-#undef BOOST_FUSION_TAG_OF_SPECIALIZATION
+#undef BOOST_FUSION_ARRAY_TAG_OF_SPECIALIZATION
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/array/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_ARRAY_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_ARRAY_VALUE_OF_IMPL_HPP
@@ -16,13 +18,10 @@
     {
         template <typename ItRef>
         struct apply
- {
- typedef typename
- detail::remove_reference<
- typename detail::remove_reference<ItRef>::type::seq_type
- >::type::value_type
- type;
- };
+ : detail::remove_reference<
+ typename detail::remove_reference<ItRef>::type::seq_type
+ >::type::value_type
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_DEREF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/tag_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,6 +9,7 @@
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_TAG_OF_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_TAG_OF_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/support/tag_of_fwd.hpp>
 
 namespace boost { namespace fusion
@@ -17,7 +19,33 @@
 
     namespace traits
     {
-#define BOOST_FUSION_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+ template <\
+ class T0, class T1, class T2, class T3, class T4, \
+ class T5, class T6, class T7, class T8, class T9\
+ >\
+ struct tag_of<\
+ tuples::tuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> COMBINATION\
+ , void\
+ >\
+ {\
+ typedef boost_tuple_tag type;\
+ };\
+ \
+ template <class Head, class Tail>\
+ struct tag_of<tuples::cons<Head, Tail> COMBINATION,void>\
+ {\
+ typedef boost_tuple_tag type;\
+ };\
+ \
+ template <>\
+ struct tag_of<tuples::null_type COMBINATION,void>\
+ {\
+ typedef boost_tuple_tag type;\
+ };
+#else
+# define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
         template <\
             class T0, class T1, class T2, class T3, class T4, \
             class T5, class T6, class T7, class T8, class T9\
@@ -40,11 +68,12 @@
         {\
             typedef boost_tuple_tag type;\
         };
+#endif
 
         BOOST_FUSION_ALL_CV_REF_NON_REF_COMBINATIONS(
- BOOST_FUSION_TAG_OF_SPECIALIZATION,_)
+ BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION,_)
 
-#undef BOOST_FUSION_TAG_OF_SPECIALIZATION
+#undef BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/boost_tuple/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/advance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/category_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,6 +10,8 @@
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_CATEGORY_OF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_MPL_CATEGORY_OF_IMPL_HPP
 
+//TODO doc
+
 #include <boost/mpl/begin.hpp>
 #include <boost/mpl/is_sequence.hpp>
 #include <boost/mpl/iterator_category.hpp>
@@ -54,17 +57,14 @@
         {
             template<typename SeqRef>
             struct apply
- {
- typedef typename
- detail::mpl_iterator_category<
- typename mpl::iterator_category<
- typename mpl::begin<
- typename detail::identity<SeqRef>::type
- >::type
+ : detail::mpl_iterator_category<
+ typename mpl::iterator_category<
+ typename mpl::begin<
+ typename detail::identity<SeqRef>::type
>::type
>::type
- type;
- };
+ >
+ {};
         };
 
         template<>
@@ -72,15 +72,12 @@
         {
             template<typename ItRef>
             struct apply
- {
- typedef typename
- detail::mpl_iterator_category<
- typename mpl::iterator_category<
- typename detail::identity<ItRef>::type
- >::type
+ : detail::mpl_iterator_category<
+ typename mpl::iterator_category<
+ typename detail::identity<ItRef>::type
>::type
- type;
- };
+ >
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/get_mpl_it.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_GET_MPL_IT_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_MPL_GET_MPL_IT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/mpl_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/next_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/prior_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,8 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
 
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_TAG_OF_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_MPL_TAG_OF_HPP
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_assoc_struct.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_ASSOC_STRUCT_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_ASSOC_STRUCT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_base.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2007 Joel de Guzman
- Copyright (c) 2009 Dan Christopher Schmidt
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,6 +8,7 @@
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_BASE_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_BASE_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/support/tag_of_fwd.hpp>
 
 #include <boost/preprocessor/seq/size.hpp>
@@ -16,12 +16,21 @@
 #include <boost/preprocessor/tuple/elem.hpp>
 #include <boost/preprocessor/tuple/elem.hpp>
 
-#define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(COMBINATION, DATA) \
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(COMBINATION, DATA) \
+ template <> \
+ struct tag_of<BOOST_PP_TUPLE_ELEM(2,0,DATA) COMBINATION,void> \
+ { \
+ typedef BOOST_PP_TUPLE_ELEM(2,1,DATA) type; \
+ };
+#else
+# define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION(COMBINATION, DATA) \
     template <> \
     struct tag_of<BOOST_PP_TUPLE_ELEM(2,0,DATA) COMBINATION> \
     { \
         typedef BOOST_PP_TUPLE_ELEM(2,1,DATA) type; \
     };
+#endif
 
 #define BOOST_FUSION_ADAPT_STRUCT_BASE(NAME,TAG,TUPLE_SEQ,CALLBACK) \
     BOOST_PP_SEQ_FOR_EACH_I(CALLBACK,NAME,TUPLE_SEQ) \

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/adapt_struct.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_STRUCT_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_ADAPT_STRUCT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/category_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEREF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/extension.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/struct/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_DETAIL_STRUCT_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_ADAPTED_DETAIL_STRUCT_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_array.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_array.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_array.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_STD_ARRAY_HPP
 #define BOOST_FUSION_ADAPTED_STD_ARRAY_HPP
@@ -10,7 +12,6 @@
 #include <boost/fusion/support/internal/ref.hpp>
 
 #define BOOST_FUSION_ADAPTED_ARRAY_TYPE struct
-//TODO!!!
 #ifdef BOOST_HAS_TR1_ARRAY
 # define BOOST_FUSION_ADAPTED_ARRAY_NAMESPACE std::tr1
 #else

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,24 +1,38 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_STD_PAIR_HPP
 #define BOOST_FUSION_ADAPTED_STD_PAIR_HPP
 
-#include <boost/fusion/adapted/struct.hpp>
+#include <boost/config.hpp>
+#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/support/tag_of_fwd.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 
 #include <boost/mpl/int.hpp>
 #include <boost/config/no_tr1/utility.hpp>
 
-#define BOOST_FUSION_STD_PAIR_TAG_OF_SPECIALIZATION(COMBINATION, _) \
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+# define BOOST_FUSION_STD_PAIR_TAG_OF_SPECIALIZATION(COMBINATION, _) \
+ template <typename T1, typename T2> \
+ struct tag_of<std::pair<T1, T2> COMBINATION, void> \
+ { \
+ typedef struct_tag type; \
+ };
+#else
+# define BOOST_FUSION_STD_PAIR_TAG_OF_SPECIALIZATION(COMBINATION, _) \
     template <typename T1, typename T2> \
     struct tag_of<std::pair<T1, T2> COMBINATION> \
     { \
         typedef struct_tag type; \
     };
+#endif
 
 namespace boost { namespace fusion { namespace traits \
 { \

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_assoc_struct.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP
 #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_ASSOC_STRUCT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/adapt_struct.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP
 #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -20,6 +20,7 @@
 #include <boost/fusion/support/internal/result_of.hpp>
 
 #include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/if.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
@@ -72,7 +73,7 @@
             typedef typename result_of::next<It1&>::type It2;
             It2 it2 = fusion::next(it1);
 
- return f(fusion::deref(it2),
+ return f(fusion::deref(fusion::next(it1)),
                         f(fusion::deref(it1),
                             f(
                                 fusion::deref(it0),
@@ -93,8 +94,7 @@
                 BOOST_FUSION_R_ELSE_CLREF(F) f)
         {
             return f(fusion::deref(fusion::next(it0)),
- f(fusion::deref(it0),
- BOOST_FUSION_FORWARD(State,state)));
+ f(fusion::deref(it0),BOOST_FUSION_FORWARD(State,state)));
         }
     };
 
@@ -131,20 +131,21 @@
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
         typedef typename
- internal::result_of<
+ boost::result_of<
                 typename get_func_base<FRef>::type(deref_type, StateRef)
>::type
         type;
 #else
         typedef typename
- mpl::eval_if<
- typename is_lrref<deref_type>::type
- , internal::result_of<
- typename get_func_base<FRef>::type(deref_type, StateRef)
- >
- , internal::result_of<
- typename get_func_base<FRef>::type(deref_type&&, StateRef)
- >
+ boost::result_of<
+ typename get_func_base<FRef>::type(
+ typename mpl::if_<
+ is_lrref<deref_type>
+ , deref_type
+ , deref_type&&
+ >::type
+ , StateRef
+ )
>::type
         type;
 #endif
@@ -211,11 +212,8 @@
 
     template<typename It0, typename StateRef, typename FRef>
     struct result_of_unrolled_fold<It0, StateRef, FRef, 1>
- {
- typedef typename
- fold_apply_r_else_clref<It0, StateRef, FRef>::type
- type;
- };
+ : fold_apply_r_else_clref<It0, StateRef, FRef>
+ {};
 
     template<int SeqSize, typename It0, typename StateRef, typename FRef>
     struct fold_impl

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -90,8 +90,7 @@
     {
         template<typename It, typename F>
         static void call(It const&, BOOST_FUSION_R_ELSE_CLREF(F))
- {
- }
+ {}
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -2,6 +2,7 @@
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
     Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2007
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/all.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_ALGORITHM_QUERY_DETAIL_ALL_HPP
 #define BOOST_FUSION_ALGORITHM_QUERY_DETAIL_ALL_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -115,10 +116,14 @@
     struct unrolled_all<0>
     {
         template <typename It0, typename F>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It0 const& it0, F const& f)
         {
- return false;
+ return true;
         }
     };
 }}}

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -8,6 +8,7 @@
 #ifndef BOOST_FUSION_ALGORITHM_QUERY_DETAIL_COUNT_HPP
 #define BOOST_FUSION_ALGORITHM_QUERY_DETAIL_COUNT_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/or.hpp>
 #include <boost/type_traits/is_convertible.hpp>
 
@@ -33,7 +34,11 @@
     struct compare_convertible<false>
     {
         template <typename T1, typename T2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(BOOST_FUSION_R_ELSE_CLREF(T1) x, BOOST_FUSION_R_ELSE_CLREF(T2) y)
         {
             return false;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -32,30 +32,24 @@
 
         template <typename Begin, typename End, typename Pred>
         struct recursive_find_if
- {
- typedef typename
- main_find_if<
- typename result_of::next<Begin>::type
- , End
- , Pred
- >::type
- type;
- };
+ : main_find_if<
+ typename result_of::next<Begin>::type
+ , End
+ , Pred
+ >
+ {};
 
         template <typename Begin, typename End, typename Pred>
         struct main_find_if
- {
- typedef typename
- mpl::eval_if<
- mpl::or_<
- result_of::equal_to<Begin, End>
- , mpl::apply1<Pred,Begin>
- >
- , mpl::identity<Begin>
- , recursive_find_if<Begin, End, Pred>
- >::type
- type;
- };
+ : mpl::eval_if<
+ mpl::or_<
+ result_of::equal_to<Begin, End>
+ , mpl::apply1<Pred,Begin>
+ >
+ , mpl::identity<Begin>
+ , recursive_find_if<Begin, End, Pred>
+ >
+ {};
 
         template<typename Begin, typename End, typename Pred, bool>
         struct choose_find_if;
@@ -78,91 +72,76 @@
 
         template<typename It, typename Pred, int N>
         struct unrolled_find_if
- {
- typedef typename
- mpl::eval_if<
- typename mpl::apply1<Pred,It>::type
- , mpl::identity<It>
+ : mpl::eval_if<
+ typename mpl::apply1<Pred,It>::type
+ , mpl::identity<It>
+ , mpl::eval_if<
+ apply_offset_filter<It, Pred, 1>
+ , result_of::next<It>
                   , mpl::eval_if<
- apply_offset_filter<It, Pred, 1>
- , result_of::next<It>
+ apply_offset_filter<It, Pred, 2>
+ , result_of::advance_c<It, 2>
                       , mpl::eval_if<
- apply_offset_filter<It, Pred, 2>
- , result_of::advance_c<It, 2>
- , mpl::eval_if<
- apply_offset_filter<It, Pred, 3>
- , result_of::advance_c<It, 3>
- , unroll_again<
- It
- , Pred
- , N
- >
+ apply_offset_filter<It, Pred, 3>
+ , result_of::advance_c<It, 3>
+ , unroll_again<
+ It
+ , Pred
+ , N
>
>
>
- >::type
- type;
- };
+ >
+ >
+ {};
 
         template<typename It, typename Pred, int n>
         struct unroll_again
- {
- typedef typename
- unrolled_find_if<
- typename result_of::advance_c<It, 4>::type
- , Pred
- , n-4
- >::type
- type;
- };
+ : unrolled_find_if<
+ typename result_of::advance_c<It, 4>::type
+ , Pred
+ , n-4
+ >
+ {};
 
         template<typename It, typename Pred>
         struct unrolled_find_if<It, Pred, 3>
- {
- typedef typename
- mpl::eval_if<
- typename mpl::apply1<Pred,It>::type
- , mpl::identity<It>
+ : mpl::eval_if<
+ typename mpl::apply1<Pred,It>::type
+ , mpl::identity<It>
+ , mpl::eval_if<
+ apply_offset_filter<It, Pred, 1>
+ , result_of::next<It>
                   , mpl::eval_if<
- apply_offset_filter<It, Pred, 1>
- , result_of::next<It>
- , mpl::eval_if<
- apply_offset_filter<It, Pred, 2>
- , result_of::advance_c<It, 2>
- , result_of::advance_c<It, 3>
- >
+ apply_offset_filter<It, Pred, 2>
+ , result_of::advance_c<It, 2>
+ , result_of::advance_c<It, 3>
>
- >::type
- type;
- };
+ >
+ >
+ {};
 
         template<typename It, typename Pred>
         struct unrolled_find_if<It, Pred, 2>
- {
- typedef typename
- mpl::eval_if<
- typename mpl::apply1<Pred,It>::type
- , mpl::identity<It>
- , mpl::eval_if<
- apply_offset_filter<It, Pred, 1>
- , result_of::next<It>
- , result_of::advance_c<It, 2>
- >
- >::type
- type;
- };
+ : mpl::eval_if<
+ typename mpl::apply1<Pred,It>::type
+ , mpl::identity<It>
+ , mpl::eval_if<
+ apply_offset_filter<It, Pred, 1>
+ , result_of::next<It>
+ , result_of::advance_c<It, 2>
+ >
+ >
+ {};
 
         template<typename It, typename Pred>
         struct unrolled_find_if<It, Pred, 1>
- {
- typedef typename
- mpl::eval_if<
- typename mpl::apply1<Pred,It>::type
- , mpl::identity<It>
- , result_of::next<It>
- >::type
- type;
- };
+ : mpl::eval_if<
+ typename mpl::apply1<Pred,It>::type
+ , mpl::identity<It>
+ , result_of::next<It>
+ >
+ {};
 
         template<typename It, typename Pred>
         struct unrolled_find_if<It, Pred, 0>
@@ -172,15 +151,12 @@
 
         template<typename Begin, typename End, typename Pred>
         struct choose_find_if<Begin, End, Pred, true>
- {
- typedef typename
- unrolled_find_if<
- Begin
- , Pred
- , result_of::distance<Begin, End>::value
- >::type
- type;
- };
+ : unrolled_find_if<
+ Begin
+ , Pred
+ , result_of::distance<Begin, End>::value
+ >
+ {};
 
         template <typename Begin, typename End, typename Pred>
         struct static_find_if

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_HPP
@@ -10,6 +12,7 @@
 #include <boost/fusion/view/detail/view_storage.hpp>
 #include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 #include <boost/mpl/bool.hpp>
 
@@ -18,8 +21,6 @@
 #include <boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp>
 #include <boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp>
 
-//TODO: test
-
 namespace boost { namespace fusion
 {
     struct fusion_sequence_tag;
@@ -44,7 +45,9 @@
             filter_key_view(filter_key_view<OtherSeq,Pred> COMBINATION view)\
               : seq(static_cast<filter_key_view<OtherSeq,Pred>COMBINATION>(\
                     view).seq)\
- {}
+ {\
+ BOOST_FUSION_TAG_CHECK(OtherSeq,filter_key_view);\
+ }
 
             BOOST_FUSION_ALL_CTOR_COMBINATIONS(
                     BOOST_FUSION_FILTER_KEY_VIEW_CTOR,_)
@@ -64,11 +67,13 @@
             {}
 #endif
 
- template<typename OtherFilterKeyView>
+ template<typename OtherView>
             filter_key_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherFilterKeyView) other_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
             {
- seq=BOOST_FUSION_FORWARD(OtherFilterKeyView,other_view).seq;
+ BOOST_FUSION_TAG_CHECK(OtherView, filter_key_view_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,other_view).seq;
                 return *this;
             }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/at_key_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_AT_KEY_IMPL_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_AT_KEY_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/filter_key_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/filter_key_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/filter_key_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_FILTER_KEY_VIEW_FWD_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_FILTER_KEY_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/has_key_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_HAS_KEY_IMPL_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_HAS_KEY_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/filter_key_view/value_at_key_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_VALUE_AT_KEY_IMPL_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_FILTER_KEY_VIEW_VALUE_AT_KEY_IMPL_HPP
@@ -18,14 +20,11 @@
     {
         template <typename SeqRef,typename Key>
         struct apply
- {
- typedef typename
- result_of::value_at_key<
- typename detail::remove_reference<SeqRef>::type_seq_type
- , Key
- >::type
- type;
- };
+ : result_of::value_at_key<
+ typename detail::remove_reference<SeqRef>::type_seq_type
+ , Key
+ >
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/is_in_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/is_in_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/is_in_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_DETAIL_IS_IN_SEQ_HPP
 #define BOOST_FUSION_SUPPORT_DETAIL_IS_IN_SEQ_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_PP_ZIP_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_VARIADIC_TEMPLATES_ZIP_HPP
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_DETAIL_VARIADIC_TEMPLATES_ZIP_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,7 +14,6 @@
 #include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/view/joint_view/joint_view.hpp>
 #include <boost/fusion/view/iterator_range/iterator_range.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/algorithm/transformation/detail/is_in_seq.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,6 @@
-
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,6 +13,7 @@
 #include <boost/fusion/algorithm/transformation/insert_range.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/algorithm/transformation/detail/is_in_seq.hpp>
 
 namespace boost { namespace fusion
@@ -24,7 +26,7 @@
                 Seq
               , Pos
               , BOOST_FUSION_R_ELSE_CLREF(
- single_view<typename detail::as_fusion_element<T>::type>)
+ single_view<typename traits::deduce<T>::type>)
>
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,7 +13,6 @@
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/view/joint_view/joint_view.hpp>
 #include <boost/fusion/view/iterator_range/iterator_range.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 #include <boost/fusion/algorithm/transformation/detail/is_in_seq.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,7 +11,7 @@
 
 #include <boost/fusion/view/joint_view/joint_view.hpp>
 #include <boost/fusion/view/single_view/single_view.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 
@@ -27,7 +28,7 @@
             typedef
                 joint_view<
                     Seq
- , single_view<typename detail::as_fusion_element<T>::type>
+ , single_view<typename traits::deduce<T>::type>
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,7 +11,7 @@
 
 #include <boost/fusion/view/joint_view/joint_view.hpp>
 #include <boost/fusion/view/single_view/single_view.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 
@@ -26,7 +27,7 @@
 
             typedef
                 joint_view<
- single_view<typename detail::as_fusion_element<T>::type>
+ single_view<typename traits::deduce<T>::type>
                   , Seq
>
             type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,9 +10,9 @@
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_REPLACE_HPP
 
 #include <boost/fusion/algorithm/transformation/replace_if.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 
 namespace boost { namespace fusion
 {
@@ -60,9 +61,7 @@
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef
- detail::replace_helper<
- typename detail::as_fusion_element<T>::type
- >
+ detail::replace_helper<typename traits::deduce<T>::type>
             replacer;
 
             typedef typename

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,9 +11,9 @@
 
 #include <boost/fusion/view/transform_view/transform_view.hpp>
 #include <boost/fusion/algorithm/transformation/detail/replace_if.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 
 namespace boost { namespace fusion
 {
@@ -26,8 +27,8 @@
 
             typedef
                 detail::replace_if_helper<
- typename detail::as_fusion_element<F>::type
- , typename detail::as_fusion_element<NewValue>::type
+ typename traits::deduce<F>::type
+ , typename traits::deduce<NewValue>::type
>
             replacer;
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,9 +10,9 @@
 #define BOOST_FUSION_ALGORITHM_TRANSFORMATION_TRANSFORM_HPP
 
 #include <boost/fusion/view/transform_view/transform_view.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 
 #include <boost/preprocessor/empty.hpp>
 
@@ -30,16 +31,12 @@
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             typedef
- transform_view<
- Seq1
- , Seq2
- , typename detail::as_fusion_element<F>::type
- >
+ transform_view<Seq1, Seq2, typename traits::deduce<F>::type>
             type;
         };
 
         template <typename Seq, typename F>
-#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)
+#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
         struct transform<Seq, F, void_>
 #else
         struct transform<Seq, F>
@@ -48,9 +45,7 @@
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
- typedef
- transform_view<Seq, typename detail::as_fusion_element<F>::type>
- type;
+ typedef transform_view<Seq, typename traits::deduce<F>::type> type;
         };
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/zip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/zip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/zip.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifdef BOOST_NO_VARIADIC_TEMPLATES
 # include <boost/fusion/sequence/intrinsic/begin.hpp>
@@ -37,6 +39,7 @@
                         result_of::size<SeqRef>::value
>
                 gen;
+
                 typedef typename
                     gen::template apply<
                         typename result_of::begin<SeqRef>::type
@@ -47,6 +50,7 @@
                     detail::BOOST_PP_CAT(
                         BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME),_impl)<SeqRef>
                 gen;
+
                 typedef typename gen::apply::type type;
 #endif
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_ctor.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_ctor.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/forward_ctor.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
  
 #if !defined(BOOST_FUSION_SEQ_NAME) && !defined(BOOST_FUSION_CONTAINER_DETAIL_FORWARD_CTOR_HPP)
 # define BOOST_FUSION_CONTAINER_DETAIL_FORWARD_CTOR_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/as_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_ctor.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_ctor.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/pp/forward_ctor.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 # ifndef BOOST_FUSION_SEQ_NAME

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 //cschmidt: to avoid cyclic references - as some of the (here unneeded) mpl
 //sequence modification metafunctions might instantiate result_of::as_xxx - just
@@ -29,7 +31,6 @@
 
 namespace boost { namespace fusion { namespace detail
 {
-
     template<typename SeqRef>
     struct BOOST_PP_CAT(BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME),_impl)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_ctor.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_ctor.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/forward_ctor.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,12 +1,16 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
  
 #ifndef BOOST_FUSION_SEQ_NAME
 # ifndef BOOST_FUSION_CONTAINER_DETAIL_VARIADIC_TEMPLATES_FORWARD_CTOR_HPP
 # define BOOST_FUSION_CONTAINER_DETAIL_VARIADIC_TEMPLATES_FORWARD_CTOR_HPP
-# include <boost/call_traits.hpp>
+# ifdef BOOST_NO_RVALUE_REFERENCES
+# include <boost/call_traits.hpp>
+# endif
 # endif
 #else
 # ifdef BOOST_NO_RVALUE_REFERENCES

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,7 +9,7 @@
 #define BOOST_FUSION_CONTAINER_GENERATION_CONS_TIE_HPP
 
 #include <boost/fusion/container/list/cons.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 
 namespace boost { namespace fusion
 {
@@ -22,8 +22,8 @@
         {
             typedef
                 cons<
- typename detail::as_fusion_element_ref<Car>::type
- , typename detail::as_fusion_element<Cdr>::type
+ typename detail::deduce_ref<Car>::type
+ , typename traits::deduce<Cdr>::type
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/make_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/make_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/make_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/config.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,14 +1,17 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAKE_MAP_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAKE_MAP_HPP
 
 #include <boost/fusion/container/map/map.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/pair.hpp>
 
 #include <boost/preprocessor/iterate.hpp>
@@ -71,7 +74,7 @@
 #define BOOST_FUSION_MAP_ELEMENT(Z,N,_)\
             pair<\
                 BOOST_PP_CAT(K,N)\
- , typename detail::as_fusion_element<BOOST_PP_CAT(T,N)>::type\
+ , typename traits::deduce<BOOST_PP_CAT(T,N)>::type\
>
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,11 +1,13 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/template.hpp>
 
 #include <boost/preprocessor/iterate.hpp>
@@ -40,7 +42,7 @@
                 BOOST_FUSION_SEQ_NAME<
                     EXPAND_TEMPLATE_ARGUMENTS_BINARY(
                             BOOST_FUSION_N,
- typename detail::as_fusion_element<,
+ typename traits::deduce<,
>::type
                     )
>

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,14 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAP_TIE_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_PP_MAP_TIE_HPP
 
 #include <boost/fusion/container/map/map.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/pair.hpp>
 
 #include <boost/preprocessor/iterate.hpp>
@@ -71,7 +75,7 @@
 #define BOOST_FUSION_MAP_ELEMENT(Z,N,_)\
             pair<\
                 BOOST_PP_CAT(K,N)\
- , typename detail::as_fusion_element_ref<BOOST_PP_CAT(T,N)>::type\
+ , typename detail::deduce_ref<BOOST_PP_CAT(T,N)>::type\
>
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,11 +1,13 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/template.hpp>
 
 #include <boost/preprocessor/iterate.hpp>
@@ -40,7 +42,7 @@
                 BOOST_FUSION_SEQ_NAME<
                     EXPAND_TEMPLATE_ARGUMENTS_BINARY(
                             BOOST_FUSION_N,
- typename detail::as_fusion_element_ref<,
+ typename detail::deduce_ref<,
>::type
                     )
>

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/seq_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/config.hpp>
 #include <boost/fusion/container/generation/ignore.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,15 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_MAP_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAKE_MAP_HPP
 
 #include <boost/fusion/container/map/map.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp>
 #include <boost/fusion/support/internal/variadic_templates/variadic_quote.hpp>
 
@@ -20,7 +22,7 @@
 #include <boost/mpl/size.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/unpack_args.hpp>
-#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector/vector10.hpp>
 #include <boost/mpl/zip_view.hpp>
 #include <boost/mpl/transform_view.hpp>
 
@@ -52,9 +54,9 @@
 
             typedef
                 mpl::transform_view<
- mpl::zip_view<mpl::vector<keys,types> >
+ mpl::zip_view<mpl::vector2<keys,types> >
                   , mpl::unpack_args<
- pair<mpl::_1, detail::as_fusion_element<mpl::_2> >
+ pair<mpl::_1, traits::deduce<mpl::_2> >
>
>
             map_args;

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,9 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
 
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#include <boost/fusion/support/deduce.hpp>
 
 #include <boost/preprocessor/cat.hpp>
 
@@ -16,7 +18,7 @@
         {
             typedef
                 BOOST_FUSION_SEQ_NAME<
- typename detail::as_fusion_element<Types>::type...
+ typename traits::deduce<Types>::type...
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,15 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAP_TIE_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_DETAIL_VARIADIC_TEMPLATES_MAP_TIE_HPP
 
 #include <boost/fusion/container/map/map.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp>
 #include <boost/fusion/support/internal/variadic_templates/variadic_quote.hpp>
 
@@ -20,7 +22,7 @@
 #include <boost/mpl/size.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/unpack_args.hpp>
-#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector/vector10.hpp>
 #include <boost/mpl/zip_view.hpp>
 #include <boost/mpl/transform_view.hpp>
 
@@ -55,9 +57,9 @@
 
             typedef
                 mpl::transform_view<
- mpl::zip_view<mpl::vector<keys,types> >
+ mpl::zip_view<mpl::vector2<keys,types> >
                   , mpl::unpack_args<
- pair<mpl::_1, detail::as_fusion_element_ref<mpl::_2> >
+ pair<mpl::_1, detail::deduce_ref<mpl::_2> >
>
>
             map_args;

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,9 +1,11 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
 
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#include <boost/fusion/support/deduce.hpp>
 
 #include <boost/preprocessor/cat.hpp>
 
@@ -16,7 +18,7 @@
         {
             typedef
                 BOOST_FUSION_SEQ_NAME<
- typename detail::as_fusion_element_ref<Types>::type...
+ typename detail::deduce_ref<Types>::type...
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/list_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_LIST_TIE_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_LIST_TIE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -10,7 +10,7 @@
 #define BOOST_FUSION_CONTAINER_GENERATION_MAKE_CONS_HPP
 
 #include <boost/fusion/container/list/cons.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 
 namespace boost { namespace fusion
 {
@@ -22,8 +22,8 @@
         struct make_cons
         {
             typedef
- cons<typename detail::as_fusion_element<Car>::type
- , typename detail::as_fusion_element<Cdr>::type
+ cons<typename traits::deduce<Car>::type
+ , typename traits::deduce<Cdr>::type
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_list.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_LIST_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_MAKE_LIST_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_map.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_MAP_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_MAKE_MAP_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_set.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_SET_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_MAKE_SET_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_vector.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_MAKE_VECTOR_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_MAKE_VECTOR_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/map_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_MAP_TIE_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_MAP_TIE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/pair_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/pair_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/pair_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,7 +9,7 @@
 #define BOOST_FUSION_PAIR_TIE_20060812_2058
 
 #include <boost/fusion/support/internal/ref.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 
 namespace boost { namespace fusion
 {
@@ -24,7 +24,7 @@
             typedef
                 fusion::pair<
                     Key
- , typename detail::as_fusion_element_ref<T>::type
+ , typename detail::deduce_ref<T>::type
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/vector_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_GENERATION_VECTOR_TIE_HPP
 #define BOOST_FUSION_CONTAINER_GENERATION_VECTOR_TIE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2001-2006 Joel de Guzman
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_CONS_CONS_FWD_HPP
 #define BOOST_FUSION_CONTAINER_LIST_DETAIL_CONS_CONS_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -16,16 +17,16 @@
     struct cons_iterator_tag;
     struct forward_traversal_tag;
 
- template <typename Cons = nil>
+ template<typename ConsRef>
     struct cons_iterator
- : iterator_base<cons_iterator<Cons> >
+ : iterator_base<cons_iterator<ConsRef> >
     {
         typedef cons_iterator_tag fusion_tag;
         typedef forward_traversal_tag category;
- typedef Cons cons_type;
+ typedef ConsRef cons_type;
 
- template<typename OtherIt>
- cons_iterator(OtherIt const& it)
+ template<typename OtherConsRef>
+ cons_iterator(cons_iterator<OtherConsRef> const& it)
           : cons(it.cons)
         {}
 
@@ -33,9 +34,9 @@
           : cons(&cons)
         {}
 
- template<typename OtherIt>
+ template<typename OtherConsRef>
         cons_iterator&
- operator=(OtherIt const& other_it)
+ operator=(cons_iterator<OtherConsRef> const& other_it)
         {
             cons=other_it.cons;
             return *this;
@@ -44,6 +45,7 @@
         typename detail::remove_reference<cons_type>::type* cons;
     };
 
+ //TODO ref test
     struct nil_iterator
       : iterator_base<nil_iterator>
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -30,8 +30,7 @@
>::type::cons_type
>::type
>
- {
- };
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/next_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -23,17 +23,13 @@
         {
             typedef typename
                 detail::remove_reference<Seq>::type
- identity_sequence;
+ seq;
 
             typedef typename
                 mpl::eval_if<
                     N
- , mpl::identity<typename identity_sequence::car_type>
- //cschmidt: qualifiers could be moved here, though
- //this is not necessary!
- , apply<typename identity_sequence::cdr_type
- , mpl::int_<N::value-1>
- >
+ , mpl::identity<typename seq::car_type>
+ , apply<typename seq::cdr_type, mpl::int_<N::value-1> >
>::type
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -21,11 +21,9 @@
         struct apply
         {
             typedef typename
- detail::remove_reference<ItRef>::type::cons_type
- cons_type;
-
- typedef typename
- detail::remove_reference<cons_type>::type::car_type
+ detail::remove_reference<
+ typename detail::remove_reference<ItRef>::type::cons_type
+ >::type::car_type
             type;
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_AT_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_AT_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2005 Eric Niebler
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_DEREF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2005 Eric Niebler
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_AT_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_AT_IMPL_HPP
@@ -19,16 +21,13 @@
     {
         template <typename SeqRef, typename N>
         struct apply
- {
- typedef typename
- result_of::value_at<
- typename detail::remove_reference<
- SeqRef
- >::type::storage_type
- , N
- >::type
- type;
- };
+ : result_of::value_at<
+ typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
+ , N
+ >
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_LIST_DETAIL_LIST_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/limits.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/list.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/limits.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_MAP_MAP_HPP
 #define BOOST_FUSION_CONTAINER_MAP_MAP_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/map_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/map_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/map_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/limits.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_SET_SET_HPP
 #define BOOST_FUSION_CONTAINER_SET_SET_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/set_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/set_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/set_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,7 +9,10 @@
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_AT_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_AT_IMPL_HPP
 
-#include <boost/mpl/at.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/at.hpp>
+#endif
+#include <boost/mpl/int.hpp>
 
 namespace boost { namespace fusion { namespace extension
 {
@@ -24,19 +28,26 @@
             typedef typename
                 detail::forward_as<
                     SeqRef
+#ifdef BOOST_FUSION_PREFER_MPL
                   , typename mpl::at<
                         typename detail::remove_reference<
                             SeqRef
>::type::types
                       , N
>::type
+#else
+ , typename vector_meta_value_at<
+ typename detail::remove_reference<SeqRef>::type
+ , N::value
+ >::type
+#endif
>::type
             type;
 
             static type
             call(SeqRef seq)
             {
- return seq.at_impl(N());
+ return seq.at_impl(mpl::int_<N::value>());
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,7 +9,9 @@
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_DEREF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_DEREF_IMPL_HPP
 
-#include <boost/mpl/at.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/at.hpp>
+#endif
 
 namespace boost { namespace fusion { namespace extension
 {
@@ -27,12 +30,19 @@
             typedef
                 typename detail::forward_as<
                     vector
+#ifdef BOOST_FUSION_PREFER_MPL
                   , typename mpl::at<
                         typename detail::remove_reference<
                             vector
>::type::types
                       , typename it::index
>::type
+#else
+ , typename vector_meta_value_at<
+ typename detail::remove_reference<vector>::type
+ , it::index::value
+ >::type
+#endif
>::type
             type;
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_HPP
@@ -21,66 +24,47 @@
 
     VARIADIC_TEMPLATE(FUSION_MAX_VECTOR_SIZE)
     struct vector
- : sequence_base<vector<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)> >
+ : detail::vector_n_chooser<
+ EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)
+ >::type
     {
+ private:
         typedef typename
             detail::vector_n_chooser<
                 EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)
>::type
- vector_n;
-
- typedef typename vector_n::fusion_tag fusion_tag;
- typedef typename vector_n::tag tag;
- typedef typename vector_n::size size;
- typedef typename vector_n::category category;
- typedef typename vector_n::is_view is_view;
-
- typedef typename vector_n::types types;
- typedef vector<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)> self_type;
+ base_type;
 
+ public:
         vector()
         {}
 
 #define BOOST_FUSION_VECTOR_CTOR(COMBINATION,_)\
- vector(self_type COMBINATION vec)\
- : data(BOOST_FUSION_FORWARD(self_type COMBINATION,vec).data)\
+ vector(\
+ vector<EXPAND_TEMPLATE_ARGUMENTS(FUSION_MAX_VECTOR_SIZE)>\
+ COMBINATION vec)\
+ : base_type(BOOST_FUSION_FORWARD(base_type COMBINATION,vec))\
         {}
 
         BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_VECTOR_CTOR,_);
 
 #undef BOOST_FUSION_VECTOR_CTOR
 
+#define BOOST_FUSION_USE_BASE_TYPE
 #define BOOST_FUSION_SEQ_NAME vector
 #define BOOST_FUSION_MAX_SEQ_SIZE FUSION_MAX_VECTOR_SIZE
 #include <boost/fusion/container/detail/forward_ctor.hpp>
 #undef BOOST_FUSION_MAX_SEQ_SIZE
 #undef BOOST_FUSION_SEQ_NAME
+#undef BOOST_FUSION_USE_BASE_TYPE
 
         template <typename Seq>
         vector&
         operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
         {
- data = BOOST_FUSION_FORWARD(Seq,seq);
+ *static_cast<base_type*>(this)=BOOST_FUSION_FORWARD(Seq,seq);
             return *this;
         }
-
- template <typename I>
- typename detail::add_lref<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return data.at_impl(I());
- }
-
- template <typename I>
- typename detail::add_lref<
- typename add_const<typename mpl::at<types, I>::type>::type
- >::type
- at_impl(I) const
- {
- return data.at_impl(I());
- }
-
- vector_n data;
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 # include <boost/fusion/container/vector/vector_fwd.hpp>
@@ -15,29 +18,27 @@
 # include <boost/fusion/support/sequence_base.hpp>
 # include <boost/fusion/support/internal/ref.hpp>
 # include <boost/fusion/support/internal/sequence_assign.hpp>
+# include <boost/fusion/support/internal/template.hpp>
 
 # include <boost/preprocessor/cat.hpp>
 # include <boost/preprocessor/dec.hpp>
 # include <boost/preprocessor/empty.hpp>
 # include <boost/preprocessor/repetition/enum.hpp>
-# include <boost/preprocessor/repetition/enum_params.hpp>
-# include <boost/preprocessor/repetition/enum_binary_params.hpp>
 # include <boost/preprocessor/repetition/repeat.hpp>
 # include <boost/preprocessor/repetition/repeat_from_to.hpp>
 # include <boost/preprocessor/iteration/iterate.hpp>
 
 # include <boost/mpl/int.hpp>
 # include <boost/mpl/bool.hpp>
-# include <boost/mpl/at.hpp>
+# ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/at.hpp>
+# endif
 # ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
 # include <boost/mpl/equal_to.hpp>
 # endif
 
 # include <boost/type_traits/add_const.hpp>
 # include <boost/utility/enable_if.hpp>
-# ifdef BOOST_NO_RVALUE_REFERENCES
-# include <boost/call_traits.hpp>
-# endif
 
 # include <boost/fusion/container/vector/detail/at_impl.hpp>
 # include <boost/fusion/container/vector/detail/value_at_impl.hpp>
@@ -46,37 +47,49 @@
 # include <boost/fusion/container/vector/detail/deref_impl.hpp>
 # include <boost/fusion/container/vector/detail/value_of_impl.hpp>
 
+namespace boost { namespace fusion
+{
 # define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/pp/vector_n.hpp>
 # define BOOST_PP_ITERATION_LIMITS (BOOST_FUSION_FROM, BOOST_FUSION_TO)
 # include BOOST_PP_ITERATE()
+}}
 
 #else
 # define BOOST_FUSION_N BOOST_PP_ITERATION()
 
-namespace boost { namespace fusion
-{
 # if !BOOST_FUSION_N
- struct void_;
-
- template <typename T0=void_>
+ VARIADIC_TEMPLATE_WITH_DEFAULT(1)
     struct vector0;
 
     template<>
     struct vector0<void_>
       : sequence_base<vector0<void_> >
 # else
- template <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename T)>
+# ifndef BOOST_FUSION_PREFER_MPL
+ template<typename Vector>
+ struct
+ vector_meta_value_at<Vector,BOOST_PP_DEC(BOOST_FUSION_N)>
+ {
+ typedef typename
+ Vector::BOOST_PP_CAT(t,BOOST_PP_DEC(BOOST_FUSION_N))
+ type;
+ };
+# endif
+
+ VARIADIC_TEMPLATE(BOOST_FUSION_N)
     struct BOOST_PP_CAT(vector, BOOST_FUSION_N)
       : sequence_base<BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N,T)>
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)>
>
 # endif
     {
+#ifdef BOOST_FUSION_PREFER_MPL
         typedef
             mpl::BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
>
         types;
+#endif
         typedef vector_tag fusion_tag;
         typedef fusion_sequence_tag tag;
         typedef mpl::false_ is_view;
@@ -94,18 +107,17 @@
 # undef BOOST_FUSION_DEFAULT_MEMBER_INIT
 
 # if BOOST_FUSION_N
-# define BOOST_FUSION_SELF_TYPE\
- BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N,T)>
-
 # define BOOST_FUSION_MEMBER_INIT(Z, N, COMBINATION)\
             BOOST_PP_CAT(m,N)(\
- BOOST_FUSION_FORWARD(BOOST_FUSION_SELF_TYPE COMBINATION,vec).\
+ BOOST_FUSION_FORWARD(\
+ BOOST_PP_CAT(vector, N)<EXPAND_TEMPLATE_ARGUMENTS(N)>\
+ COMBINATION,vec).\
                     BOOST_PP_CAT(m,N))
 
 # define BOOST_FUSION_VECTOR_CTOR(COMBINATION,_)\
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(\
             BOOST_PP_CAT(vector, BOOST_FUSION_N)<\
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N,T)\
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)\
> COMBINATION vec)\
           : BOOST_PP_ENUM(BOOST_FUSION_N, BOOST_FUSION_MEMBER_INIT, COMBINATION)\
         {}
@@ -113,7 +125,6 @@
         BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_VECTOR_CTOR,_)
 
 # undef BOOST_FUSION_MEMBER_INIT
-# undef BOOST_FUSION_SELF_TYPE
 # else
 # define BOOST_FUSION_VECTOR_CTOR(COMBINATION,_)\
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(\
@@ -131,22 +142,16 @@
             BOOST_FUSION_FORWARD(BOOST_PP_CAT(A,N), BOOST_PP_CAT(_,N)))
 
 #ifndef BOOST_NO_RVALUE_REFERENCES
- template <BOOST_PP_ENUM_PARAMS(N, typename A)>
+ VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
 #endif
 # if (BOOST_FUSION_N == 1)
         explicit
 # endif
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(
 #ifdef BOOST_NO_RVALUE_REFERENCES
- BOOST_PP_ENUM_BINARY_PARAMS(
- BOOST_FUSION_N,
- typename call_traits<T,
- >::param_type _)
+ EXPAND_TEMPLATE_ARGUMENTS_CALL_PARAMS(BOOST_FUSION_N)
 #else
- BOOST_PP_ENUM_BINARY_PARAMS(
- BOOST_FUSION_N,
- A,
- BOOST_FUSION_R_ELSE_CLREF(BOOST_PP_EMPTY()) _)
+ EXPAND_TEMPLATE_ARGUMENTS_PARAMETERS_A_R_ELSE_CLREF(BOOST_FUSION_N)
 #endif
             )
           : BOOST_PP_ENUM(BOOST_FUSION_N, BOOST_FUSION_MEMBER_INIT, _)
@@ -190,7 +195,7 @@
 
         template <typename Seq>
         BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
>&
         operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
         {
@@ -227,43 +232,38 @@
         }
 
         BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
>&
         operator=(
             BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
>const& seq)
         {
 #ifdef BOOST_NO_RVALUE_REFERENCES
             return this->operator=<
- BOOST_PP_CAT(vector, BOOST_FUSION_N)
- <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)>
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)<
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
+ >
>(seq);
 #else
             return this->operator=<
- BOOST_PP_CAT(vector, BOOST_FUSION_N)
- <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)> const&
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)<
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
+ > const&
>(seq);
 #endif
         }
 
- template<typename I>
- typename detail::add_lref<typename mpl::at<types, I>::type>::type
- at_impl(I)
- {
- return at_impl(mpl::int_<I::value>());
- }
-
- template<typename I>
- typename detail::add_lref<
- typename add_const<typename mpl::at<types, I>::type>::type
- >::type
- at_impl(I) const
- {
- return at_impl(mpl::int_<I::value>());
- }
+# ifdef BOOST_FUSION_PREFER_MPL
+# define BOOST_FUSION_META_VALUE_AT(N)
+# else
+# define BOOST_FUSION_META_VALUE_AT(N)\
+ typedef BOOST_PP_CAT(T,N) BOOST_PP_CAT(t,N);
+# endif
 
 # define BOOST_FUSION_MEMBER_DECL(Z, N, _)\
+ BOOST_FUSION_META_VALUE_AT(N)\
+ \
         typename detail::add_lref<BOOST_PP_CAT(T,N)>::type\
         at_impl(mpl::int_<N>)\
         {\
@@ -283,8 +283,9 @@
         BOOST_PP_REPEAT(BOOST_FUSION_N, BOOST_FUSION_MEMBER_DECL, _)
 
 # undef BOOST_FUSION_MEMBER_DECL
+# undef BOOST_FUSION_META_VALUE_AT
     };
-}}
+
 # undef BOOST_FUSION_N
 #endif
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -6,85 +6,54 @@
 ==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
-#ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_N_CHOOSER_HPP
-#define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_N_CHOOSER_HPP
+# ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_N_CHOOSER_HPP
+# define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_PP_VECTOR_N_CHOOSER_HPP
 
-#include <boost/fusion/container/vector/limits.hpp>
+# include <boost/fusion/container/vector/limits.hpp>
 // include vector0..N where N is FUSION_MAX_VECTOR_SIZE
-#include <boost/fusion/container/vector/vector10.hpp>
-#if (FUSION_MAX_VECTOR_SIZE > 10)
-# include <boost/fusion/container/vector/vector20.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 20)
-# include <boost/fusion/container/vector/vector30.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 30)
-# include <boost/fusion/container/vector/vector40.hpp>
-#endif
-#if (FUSION_MAX_VECTOR_SIZE > 40)
-# include <boost/fusion/container/vector/vector50.hpp>
-#endif
-
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
+# include <boost/fusion/container/vector/vector10.hpp>
+# if (FUSION_MAX_VECTOR_SIZE > 10)
+# include <boost/fusion/container/vector/vector20.hpp>
+# endif
+# if (FUSION_MAX_VECTOR_SIZE > 20)
+# include <boost/fusion/container/vector/vector30.hpp>
+# endif
+# if (FUSION_MAX_VECTOR_SIZE > 30)
+# include <boost/fusion/container/vector/vector40.hpp>
+# endif
+# if (FUSION_MAX_VECTOR_SIZE > 40)
+# include <boost/fusion/container/vector/vector50.hpp>
+# endif
+# include <boost/fusion/support/internal/template.hpp>
 
-#include <boost/mpl/distance.hpp>
-#include <boost/mpl/find.hpp>
-#include <boost/mpl/begin_end.hpp>
-
-namespace boost { namespace fusion
-{
- struct void_;
-}}
+# include <boost/preprocessor/cat.hpp>
 
 namespace boost { namespace fusion { namespace detail
 {
- template <int N>
- struct get_vector_n;
+ VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_VECTOR_SIZE)
+ struct vector_n_chooser;
+
+# define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp>
+# define BOOST_PP_ITERATION_LIMITS (0, FUSION_MAX_VECTOR_SIZE)
+# include BOOST_PP_ITERATE()
+
+}}}
 
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
+# endif
+#else
+# define BOOST_FUSION_N BOOST_PP_ITERATION()
 
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
+ VARIADIC_TEMPLATE(BOOST_FUSION_N)
     struct vector_n_chooser
+ EXPAND_TEMPLATE_ARGUMENTS_SPECIALIZATION(
+ FUSION_MAX_VECTOR_SIZE,BOOST_FUSION_N)
     {
         typedef
- mpl::BOOST_PP_CAT(vector, FUSION_MAX_VECTOR_SIZE)
- <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- input;
-
- typedef typename mpl::begin<input>::type begin;
- typedef typename mpl::find<input, void_>::type end;
- typedef typename mpl::distance<begin, end>::type size;
-
- typedef typename get_vector_n<size::value>::template
- call<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)<
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
+ >
         type;
     };
-}}}
 
+# undef BOOST_FUSION_N
 #endif
-
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-#else // defined(BOOST_PP_IS_ITERATING)
-
-#define N BOOST_PP_ITERATION()
-
- template <>
- struct get_vector_n<N>
- {
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct call
- {
- typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM_PARAMS(N, T)> type;
- };
- };
-
-#undef BOOST_FUSION_N
-#endif // defined(BOOST_PP_IS_ITERATING)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,7 +9,9 @@
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VALUE_AT_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VALUE_AT_IMPL_HPP
 
-#include <boost/mpl/at.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/at.hpp>
+#endif
 
 namespace boost { namespace fusion { namespace extension
 {
@@ -20,14 +23,18 @@
     {
         template <typename SeqRef, typename N>
         struct apply
- {
- typedef typename
- mpl::at<
- typename detail::remove_reference<SeqRef>::type::types
- , N
- >::type
- type;
- };
+#ifdef BOOST_FUSION_PREFER_MPL
+ : mpl::at<
+ typename detail::remove_reference<SeqRef>::type::types
+ , N
+ >
+#else
+ : vector_meta_value_at<
+ typename detail::remove_reference<SeqRef>::type
+ , N::value
+ >
+#endif
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,7 +9,9 @@
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VALUE_OF_IMPL_HPP
 
-#include <boost/mpl/at.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/at.hpp>
+#endif
 
 namespace boost { namespace fusion { namespace extension
 {
@@ -24,12 +27,21 @@
             typedef typename detail::remove_reference<ItRef>::type it;
 
             typedef typename
+#ifdef BOOST_FUSION_PREFER_MPL
                 mpl::at<
                     typename detail::remove_reference<
                         typename it::seq_type
>::type::types
                   , typename it::index
>::type
+#else
+ vector_meta_value_at<
+ typename detail::remove_reference<
+ typename it::seq_type
+ >::type
+ , it::index::value
+ >::type
+#endif
             type;
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,135 +1,267 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_VECTOR_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_DETAIL_VARIADIC_TEMPLATES_VECTOR_HPP
 
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/sequence/intrinsic/size.hpp>
+#include <boost/fusion/iterator/advance_c.hpp>
 #include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/iterator/deref.hpp>
-#include <boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp>
+#endif
 #include <boost/fusion/support/internal/sequence_assign.hpp>
 #include <boost/fusion/support/internal/assign_tags.hpp>
 #include <boost/fusion/support/sequence_base.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 
+#include <boost/preprocessor/inc.hpp>
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/repetition/repeat.hpp>
+#include <boost/preprocessor/repetition/repeat_from_to.hpp>
+#include <boost/preprocessor/repetition/enum.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+#include <boost/preprocessor/repetition/enum_binary_params.hpp>
 #include <boost/mpl/int.hpp>
+#ifdef BOOST_NO_RVALUE_REFERENCES
+# include <boost/call_traits.hpp>
+#endif
 
 #include <utility>
 
 namespace boost { namespace fusion
 {
- struct void_;
-
     namespace detail
     {
         template<int Index,typename... Elements>
         struct vector_impl;
 
- template<int Index>
- struct vector_impl<Index>
+ template<>
+ struct vector_impl<0>
         {
- template<int,typename...>friend struct vector_impl;
- template<typename...>friend struct fusion::vector;
-
- protected:
- typedef void_ head;
-
             vector_impl()
             {}
 
- vector_impl(assign_directly)
+ template<typename It>
+ vector_impl(assign_by_deref,It const& it)
             {}
 
- template<typename It>
- vector_impl(assign_by_deref,It const&)
+ vector_impl(assign_directly)
             {}
 
- template<typename It>
+ template<typename It0>
             void
- assign(It const&)
+ assign(It0 const& it0)
             {}
-
- void at_impl();
         };
 
- template<int Index,typename Head,typename... Others>
- struct vector_impl<Index,Head,Others...>
- : vector_impl<Index+1,Others...>
- {
- template<int,typename...>friend struct vector_impl;
- template<typename...>friend struct fusion::vector;
+#define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEFAULT_INIT(Z,N,_)\
+ BOOST_PP_CAT(_element,N)()
+
+#define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN_PARAMS(Z,N,_)\
+ BOOST_PP_CAT(_element,N)(\
+ fusion::deref(fusion::advance_c<N>(it)))
+
+#define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN(Z,N,_)\
+ BOOST_PP_CAT(_element,N)=fusion::deref(BOOST_PP_CAT(it,N));\
+ \
+ typedef typename\
+ result_of::next<BOOST_PP_CAT(It,N)>::type\
+ BOOST_PP_CAT(It,BOOST_PP_INC(N));\
+ BOOST_PP_CAT(It,BOOST_PP_INC(N)) BOOST_PP_CAT(it,BOOST_PP_INC(N))=\
+ fusion::next(BOOST_PP_CAT(it,N));
+
+#ifdef BOOST_NO_RVALUE_REFERENCES
+# define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_TEMPLATE_ARGS(N)
+
+# define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_PARAMS(N)\
+ BOOST_PP_ENUM_BINARY_PARAMS(N, typename call_traits<H,>::type _)
+#else
+# define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_TEMPLATE_ARGS(N)\
+ template<BOOST_PP_ENUM_PARAMS(N, typename OtherH)>
+
+# define BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_PARAMS(N)\
+ BOOST_PP_ENUM_BINARY_PARAMS(N, OtherH,&& _)
+#endif
+
+#define BOOST_FUSION_UNROLLED_VECTOR_DIRECT_ASSIGN(Z,N,_)\
+ BOOST_PP_CAT(_element,N)(BOOST_PP_CAT(_,N))
+
+#ifdef BOOST_FUSION_PREFER_MPL
+# define BOOST_FUSION_META_VALUE_AT(N)
+#else
+# define BOOST_FUSION_META_VALUE_AT(N)\
+ typedef BOOST_PP_CAT(H,N) BOOST_PP_CAT(h,N);
+#endif
 
- private:
- typedef vector_impl<Index+1,Others...> base;
+#define BOOST_FUSION_UNROLLED_VECTOR_AT(Z,N,_)\
+ BOOST_FUSION_META_VALUE_AT(N)\
+ \
+ typename detail::add_lref<BOOST_PP_CAT(H,N)>::type\
+ at_impl(mpl::int_<Index+N>)\
+ {\
+ return BOOST_PP_CAT(_element,N) ;\
+ }\
+ \
+ typename detail::add_lref<\
+ typename add_const<BOOST_PP_CAT(H,N)>::type\
+ >::type\
+ at_impl(mpl::int_<Index+N>)const\
+ {\
+ return BOOST_PP_CAT(_element,N) ;\
+ }\
+ \
+ BOOST_PP_CAT(H,N) BOOST_PP_CAT(_element,N);
+
+#define BOOST_FUSION_UNROLLED_VECTOR_IMPL(Z, N, MAX)\
+ template<int Index, BOOST_PP_ENUM_PARAMS(N, typename H)>\
+ struct vector_impl<Index,BOOST_PP_ENUM_PARAMS(N, H)>\
+ {\
+ vector_impl()\
+ : BOOST_PP_ENUM(\
+ N,\
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEFAULT_INIT,\
+ _)\
+ {}\
+ \
+ template<typename It>\
+ vector_impl(assign_by_deref,It const& it)\
+ : BOOST_PP_ENUM(N,\
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN_PARAMS,\
+ _)\
+ {}\
+ \
+ template<typename It0>\
+ void\
+ assign(It0 const& it0)\
+ {\
+ BOOST_PP_REPEAT(N,\
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN,\
+ _)\
+ }\
+ \
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_TEMPLATE_ARGS(N)\
+ vector_impl(\
+ assign_directly,\
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_PARAMS(N)\
+ )\
+ : BOOST_PP_ENUM(N, BOOST_FUSION_UNROLLED_VECTOR_DIRECT_ASSIGN, _)\
+ {}\
+ \
+ BOOST_PP_REPEAT(N,BOOST_FUSION_UNROLLED_VECTOR_AT,_)\
+ };
 
- public:
- using base::at_impl;
+ BOOST_PP_REPEAT_FROM_TO(1, 5, BOOST_FUSION_UNROLLED_VECTOR_IMPL, _)
 
- protected:
- typedef Head head;
+ template<
+ int Index
+ , BOOST_PP_ENUM_PARAMS(4, typename H)
+ , typename... Others
+ >
+ struct vector_impl<Index,BOOST_PP_ENUM_PARAMS(4, H),Others...>
+ : vector_impl<Index+4,Others...>
+ {
+ typedef vector_impl<Index+4,Others...> base_type;
+ typedef base_type chain_upper;
 
- private:
- Head _element;
+ using base_type::at_impl;
 
- protected:
             vector_impl()
- : _element()
+ : BOOST_PP_ENUM(4,
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEFAULT_INIT,
+ _)
             {}
 
             template<typename It>
             vector_impl(assign_by_deref,It const& it)
- : base(assign_by_deref(),fusion::next(it))
- , _element(fusion::deref(it))
+ : base_type(assign_by_deref(),fusion::advance_c<4>(it))
+ , BOOST_PP_ENUM(4,
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN_PARAMS,
+ _)
             {}
 
- template<typename It>
+ template<typename It0>
             void
- assign(It const& it)
+ assign(It0 const& it0)
             {
- _element=fusion::deref(it);
- static_cast<base*>(this)->assign(fusion::next(it));
+ BOOST_PP_REPEAT(4,
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN,
+ _)
+
+ static_cast<base_type*>(this)->assign(fusion::next(it4));
             }
 
- template<typename OtherHead,typename... OtherElements>
- vector_impl(assign_directly,
- BOOST_FUSION_R_ELSE_CLREF(OtherHead) head,
- BOOST_FUSION_R_ELSE_CLREF(OtherElements)... elements)
- : base(assign_directly(),
+#ifndef BOOST_NO_RVALUE_REFERENCES
+ template<
+ BOOST_PP_ENUM_PARAMS(4, typename OtherH)
+ , typename... OtherElements
+ >
+#endif
+ vector_impl(
+ assign_directly,
+ BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_PARAMS(4),
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ typename call_traits<Others>::param_type... elements
+#else
+ OtherElements&&... elements
+#endif
+ )
+ : base_type(assign_directly(),
                         BOOST_FUSION_FORWARD(OtherElements,elements)...)
- , _element(BOOST_FUSION_FORWARD(OtherHead,head))
+ , BOOST_PP_ENUM(4, BOOST_FUSION_UNROLLED_VECTOR_DIRECT_ASSIGN, _)
             {}
 
- typename detail::add_lref<Head>::type
- at_impl(mpl::int_<Index>)
- {
- return _element;
- }
-
- typename detail::add_lref<typename add_const<Head>::type>::type
- at_impl(mpl::int_<Index>)const
- {
- return _element;
- }
+ BOOST_PP_REPEAT(4,BOOST_FUSION_UNROLLED_VECTOR_AT,_)
         };
+
+#undef BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEFAULT_INIT
+#undef BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN_PARAMS
+#undef BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DEREF_ASSIGN
+#undef BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_TEMPLATE_ARGS
+#undef BOOST_FUSION_UNROLLED_VECTOR_MEMBER_DIRECT_ASSIGN_PARAMS
+#undef BOOST_FUSION_UNROLLED_VECTOR_DIRECT_ASSIGN
+#undef BOOST_FUSION_META_VALUE_AT
+#undef BOOST_FUSION_UNROLLED_VECTOR_AT
+#undef BOOST_FUSION_UNROLLED_VECTOR_IMPL
     }
 
+#ifndef BOOST_FUSION_PREFER_MPL
+ template<typename Vector, int Index>
+ struct vector_meta_value_at
+ : vector_meta_value_at<typename Vector::chain_upper, Index-4>
+ {};
+
+# define BOOST_FUSION_META_VALUE_AT_SPECIALIZATION(Z,N,_)\
+ template<typename Vector>\
+ struct vector_meta_value_at<Vector,N>\
+ {\
+ typedef typename Vector::BOOST_PP_CAT(h,N) type;\
+ };
+
+ BOOST_PP_REPEAT(4, BOOST_FUSION_META_VALUE_AT_SPECIALIZATION, _)
+
+# undef BOOST_FUSION_META_VALUE_AT_SPECIALIZATION
+#endif
+
     template<typename... Elements>
     struct vector
       : sequence_base<vector<Elements...> >
       , detail::vector_impl<0,Elements...>
     {
- private:
- typedef detail::vector_impl<0,Elements...> base;
+ typedef detail::vector_impl<0,Elements...> base_type;
 
- public:
- typedef vector<Elements...> this_type;
+#ifdef BOOST_FUSION_PREFER_MPL
         typedef typename
             detail::variadic_arguments_to_vector<Elements...>::type
         types;
+#endif
+
         typedef vector_tag fusion_tag;
         typedef fusion_sequence_tag tag;
         typedef mpl::false_ is_view;
@@ -141,7 +273,7 @@
 
 #define VECTOR_CTOR(COMBINATION,_)\
         vector(vector COMBINATION vec)\
- : base(detail::assign_by_deref(),\
+ : base_type(detail::assign_by_deref(),\
                 fusion::begin(BOOST_FUSION_FORWARD(vector COMBINATION,vec)))\
         {}
 
@@ -149,10 +281,18 @@
 
 #undef VECTOR_CTOR
 
+#ifndef BOOST_NO_RVALUE_REFERENCES
         template<typename... OtherArguments>
+#endif
         explicit
- vector(BOOST_FUSION_R_ELSE_CLREF(OtherArguments)... arguments)
- : base(detail::assign_directly(),
+ vector(
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ typename call_traits<Elements>::param_type... arguments
+#else
+ OtherArguments&&... arguments
+#endif
+ )
+ : base_type(detail::assign_directly(),
                  BOOST_FUSION_FORWARD(OtherArguments,arguments)...)
         {
             BOOST_FUSION_STATIC_ASSERT((
@@ -162,7 +302,7 @@
 #define BOOST_FUSION_VECTOR_ASSIGN_CTOR(COMBINATION,_)\
         template<typename SeqRef>\
         vector(detail::sequence_assign_type<SeqRef> COMBINATION seq_assign)\
- : base(detail::assign_by_deref(),fusion::begin(seq_assign.get()))\
+ : base_type(detail::assign_by_deref(),fusion::begin(seq_assign.get()))\
         {\
             BOOST_FUSION_STATIC_ASSERT((\
                 sizeof...(Elements)==result_of::size<SeqRef>::value));\
@@ -176,7 +316,7 @@
         template<typename Seq>
         vector(typename enable_if_c<sizeof...(Elements)!=1,
                                 BOOST_FUSION_R_ELSE_CLREF(Seq)>::type seq)
- : base(detail::assign_by_deref(),
+ : base_type(detail::assign_by_deref(),
                  fusion::begin(BOOST_FUSION_FORWARD(Seq,seq.seq)))
         {}
         */
@@ -188,28 +328,10 @@
             BOOST_FUSION_STATIC_ASSERT((
                 sizeof...(Elements)==result_of::size<Seq>::value));
 
- static_cast<base*>(this)->assign(
+ static_cast<base_type*>(this)->assign(
                 fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)));
             return *this;
         }
-
- template<typename I>
- typename detail::add_lref<
- typename mpl::at<types, I>::type
- >::type
- at_impl(I)
- {
- return base::at_impl(mpl::int_<I::value>());
- }
-
- template<typename I>
- typename detail::add_lref<
- typename add_const<typename mpl::at<types, I>::type>::type
- >::type
- at_impl(I) const
- {
- return base::at_impl(mpl::int_<I::value>());
- }
     };
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_PP_IS_ITERATING
 # include <boost/fusion/container/vector/vector.hpp>
@@ -10,6 +12,7 @@
 # include <boost/preprocessor/cat.hpp>
 # include <boost/preprocessor/repetition/enum.hpp>
 # include <boost/preprocessor/repetition/enum_binary_params.hpp>
+# include <boost/call_traits.hpp>
 
 # define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp>
 # define BOOST_PP_ITERATION_LIMITS (BOOST_FUSION_FROM, BOOST_FUSION_TO)
@@ -35,17 +38,15 @@
 # endif
       : vector<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)>
     {
- private:
- typedef vector<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)> base;
+ typedef vector<BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, T)> base_type;
 
- public:
         BOOST_PP_CAT(vector, BOOST_FUSION_N)()
         {}
 
 # define BOOST_FUSION_VECTOR_CTOR(COMBINATION,_)\
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(\
             BOOST_PP_CAT(vector, BOOST_FUSION_N) COMBINATION vec)\
- : base(sequence_assign(BOOST_FUSION_FORWARD(\
+ : base_type(sequence_assign(BOOST_FUSION_FORWARD(\
                   BOOST_PP_CAT(vector, BOOST_FUSION_N) COMBINATION,vec)))\
         {}
 
@@ -55,23 +56,23 @@
 
         template<typename Arg>
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(BOOST_FUSION_R_ELSE_CLREF(Arg) arg)
- : base(BOOST_FUSION_FORWARD(Arg,arg))
+ : base_type(BOOST_FUSION_FORWARD(Arg,arg))
         {}
 
 # if BOOST_FUSION_N > 1
 # ifdef BOOST_NO_RVALUE_REFERENCES
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(
- BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& a))
- : base(BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, a))
+ BOOST_PP_ENUM_BINARY_PARAMS(N, call_traits<T,>::param_type a))
+ : base_type(BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, a))
         {}
 # else
-# define BOOST_FUSION_FORWARD_ARGUMENT(Z, N, __) std::forward<\
- BOOST_PP_CAT(A,N)>(BOOST_PP_CAT(_,N))
+# define BOOST_FUSION_FORWARD_ARGUMENT(Z, N, __)\
+ std::forward<BOOST_PP_CAT(A,N)>(BOOST_PP_CAT(_,N))
 
         template <BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename A)>
         BOOST_PP_CAT(vector, BOOST_FUSION_N)(
             BOOST_PP_ENUM_BINARY_PARAMS(BOOST_FUSION_N, A,&& _))
- : base(
+ : base_type(
               BOOST_PP_ENUM(BOOST_FUSION_N, BOOST_FUSION_FORWARD_ARGUMENT, _))
         {}
 
@@ -83,7 +84,7 @@
         BOOST_PP_CAT(vector, BOOST_FUSION_N)&
         operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
         {
- *static_cast<base*>(this)=BOOST_FUSION_FORWARD(Seq,seq);
+ *static_cast<base_type*>(this)=BOOST_FUSION_FORWARD(Seq,seq);
             return *this;
         }
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/limits.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR10_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR10_HPP
 
 #include <boost/config.hpp>
-#include <boost/mpl/vector/vector10.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/vector/vector10.hpp>
+#endif
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) || !defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
 # define BOOST_FUSION_FROM 0

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector20.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector20.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector20.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR20_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR20_HPP
 
 #include <boost/config.hpp>
-#include <boost/mpl/vector/vector20.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/vector/vector20.hpp>
+#endif
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) || !defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
 # define BOOST_FUSION_FROM 11

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector30.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector30.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector30.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR30_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR30_HPP
 
 #include <boost/config.hpp>
-#include <boost/mpl/vector/vector30.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/vector/vector30.hpp>
+#endif
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) || !defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
 # define BOOST_FUSION_FROM 21

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector40.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector40.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector40.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR40_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR40_HPP
 
 #include <boost/config.hpp>
-#include <boost/mpl/vector/vector40.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/vector/vector40.hpp>
+#endif
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) || !defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
 # define BOOST_FUSION_FROM 31

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector50.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector50.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector50.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_CONTAINER_VECTOR_VECTOR50_HPP
 #define BOOST_FUSION_CONTAINER_VECTOR_VECTOR50_HPP
 
 #include <boost/config.hpp>
-#include <boost/mpl/vector/vector50.hpp>
+#ifdef BOOST_FUSION_PREFER_MPL
+# include <boost/mpl/vector/vector50.hpp>
+#endif
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) || !defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
 # define BOOST_FUSION_FROM 41

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 1999-2003 Jaakko Jarvi
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -18,6 +19,11 @@
     struct vector_iterator_tag;
     struct random_access_traversal_tag;
 
+#ifndef BOOST_FUSION_PREFER_MPL
+ template<typename Vector, int Index>
+ struct vector_meta_value_at;
+#endif
+
     VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_VECTOR_SIZE)
     struct vector;
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/fused_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/fused_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/fused_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/fusion/functional/invocation/invoke.hpp>
 #include <boost/fusion/support/internal/ref.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/unfused_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/unfused_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/detail/0x/unfused_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/result_of.hpp>
@@ -18,8 +20,6 @@
 # define BOOST_FUSION_ADAPTER_NAME unfused
 #endif
 
-//TODO cschmidt: handle rvalue ref F
-
 namespace boost { namespace fusion
 {
     template<
@@ -74,7 +74,7 @@
 #ifdef BOOST_FUSION_TYPED
 # define BOOST_FUSION_CALL_OPERATOR(COMBINATION)\
         template<typename... Args>\
- typename detail::internal::result_of<\
+ typename boost::result_of<\
             typename detail::get_func_base<\
                 typename detail::forward_as<int COMBINATION, F>::type\
>::type(typename result_of::as_vector<TransformSeq&&>::type&&)\
@@ -87,7 +87,7 @@
 #else
 # define BOOST_FUSION_CALL_OPERATOR(COMBINATION)\
         template<typename... Args>\
- typename detail::internal::result_of<\
+ typename boost::result_of<\
             typename detail::get_func_base<\
                 typename detail::forward_as<int COMBINATION, F>::type\
>::type(typename result_of::vector_tie<Args&&...>::type&&)\

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP
 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_function_object.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP
 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_FUNCTION_OBJECT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/fused_procedure.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP
 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_FUSED_PROCEDURE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/limits.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2006-2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
   
     Use modification and distribution are subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP
 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/adapter/unfused_typed.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP
 #define BOOST_FUSION_FUNCTIONAL_ADAPTER_UNFUSED_TYPED_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -7,7 +7,7 @@
 ==============================================================================*/
 
 #include <boost/fusion/support/internal/ref.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 
 #include <boost/preprocessor/cat.hpp>
 
@@ -22,7 +22,7 @@
         {
             typedef
                 BOOST_FUSION_CLASS_TPL_NAME<
- typename detail::as_fusion_element<F>::type
+ typename traits::deduce<F>::type
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/0x/invoke_impl_detail.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_DECLTYPE_AND_VARIADIC_TEMPLATES_INVOKE_IMPL_DETAIL_HPP
 #define BOOST_FUSION_FUNCTIONAL_INVOCATION_DETAIL_DECLTYPE_AND_VARIADIC_TEMPLATES_INVOKE_IMPL_DETAIL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP
 #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_function_object.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP
 #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_FUNCTION_OBJECT_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/invoke_procedure.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP
 #define BOOST_FUSION_FUNCTIONAL_INVOCATION_INVOKE_PROCEDURE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/advance_c.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/advance_c.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/advance_c.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_ADVANCE_C_HPP
 #define BOOST_FUSION_INCLUDE_ADVANCE_C_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/boost_array.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/boost_array.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/boost_array.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_BOOST_ARRAY_HPP
 #define BOOST_FUSION_INCLUDE_BOOST_ARRAY_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/deref_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/deref_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/deref_data.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_DEREF_DATA_HPP
 #define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/find_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/find_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/find_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_FIND_KEY_HPP
 #define BOOST_FUSION_INCLUDE_FIND_KEY_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/key_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/key_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/key_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_KEY_OF_HPP
 #define BOOST_FUSION_INCLUDE_KEY_OF_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/std_array.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/std_array.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/std_array.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_STD_ARRAY_HPP
 #define BOOST_FUSION_INCLUDE_STD_ARRAY_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/value_at_c.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/value_at_c.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/value_at_c.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_VALUE_AT_C_HPP
 #define BOOST_FUSION_INCLUDE_VALUE_AT_C_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/include/value_of_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/value_of_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/value_of_data.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP
 #define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/advance_c.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/advance_c.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/advance_c.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ITERATOR_ADVANCE_C_HPP
 #define BOOST_FUSION_ITERATOR_ADVANCE_C_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/basic_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,14 +1,15 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP
 #define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP
 
 #include <boost/fusion/iterator/iterator_facade.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
-#include <boost/fusion/support/internal/assert.hpp>
 
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/equal_to.hpp>
@@ -40,15 +41,15 @@
         typename Tag
       , typename Category
       , typename SeqRef
- , int Pos
+ , int Index
>
     struct basic_iterator
       : iterator_facade<
- basic_iterator<Tag,Category,SeqRef,Pos>
+ basic_iterator<Tag,Category,SeqRef,Index>
           , Category
>
     {
- typedef mpl::int_<Pos> index;
+ typedef mpl::int_<Index> index;
         typedef SeqRef seq_type;
 
         template <typename ItRef>
@@ -84,7 +85,7 @@
                     Tag
                   , Category
                   , SeqRef
- , Pos + N::value
+ , Index + N::value
>
             type;
 
@@ -129,8 +130,8 @@
             type;
         };
 
- template<typename OtherIt>
- basic_iterator(OtherIt const& it)
+ template<typename OtherSeqRef>
+ basic_iterator(basic_iterator<Tag,Category,OtherSeqRef,Index> const& it)
           : seq(it.seq)
         {}
 
@@ -138,9 +139,9 @@
           : seq(&seq)
         {}
 
- template<typename OtherIt>
+ template<typename OtherSeqRef>
         basic_iterator&
- operator=(OtherIt const& it)
+ operator=(basic_iterator<Tag,Category,OtherSeqRef,Index> const& it)
         {
             seq=it.seq;
             return *this;

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -25,14 +25,11 @@
 
     template <typename ItRef, int N>
     struct next_forward
- {
- typedef typename
- forward<
- typename result_of::next<ItRef>::type
- , N-1
- >::type
- type;
- };
+ : forward<
+ typename result_of::next<ItRef>::type
+ , N-1
+ >
+ {};
 
     template <typename ItRef, int N>
     struct forward
@@ -64,14 +61,11 @@
 
     template <typename ItRef, int N>
     struct next_backward
- {
- typedef typename
- backward<
- typename result_of::prior<ItRef>::type
- , N+1
- >::type
- type;
- };
+ : backward<
+ typename result_of::prior<ItRef>::type
+ , N+1
+ >
+ {};
 
     template <typename ItRef, int N>
     struct backward

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/distance.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -27,16 +27,13 @@
 
     template <typename Begin, typename End>
     struct next_distance
- {
- typedef typename
- mpl::next<
- typename linear_distance<
- typename result_of::next<Begin>::type
- , End
- >::type
+ : mpl::next<
+ typename linear_distance<
+ typename result_of::next<Begin>::type
+ , End
>::type
- type;
- };
+ >
+ {};
 
     template <typename Begin, typename End>
     struct linear_distance

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,6 +9,7 @@
 #ifndef BOOST_FUSION_ITERATOR_EQUAL_TO_HPP
 #define BOOST_FUSION_ITERATOR_EQUAL_TO_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/is_iterator.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
@@ -15,8 +17,6 @@
 #include <boost/mpl/and.hpp>
 #include <boost/utility/enable_if.hpp>
 
-//TODO constexpr
-
 namespace boost { namespace fusion
 {
     struct iterator_facade_tag;
@@ -55,7 +55,11 @@
     namespace iterator_operators
     {
         template <typename It1, typename It2>
- inline typename
+ inline
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ typename
             enable_if<
                 mpl::and_<traits::is_iterator<It1>, traits::is_iterator<It2> >
               , bool
@@ -66,7 +70,11 @@
         }
 
         template <typename It1, typename It2>
- inline typename
+ inline
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ typename
             enable_if<
                 mpl::and_<
                     traits::is_iterator<It1>

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,13 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
 #define BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
 
-#include <boost/fusion/iterator/equal_to.hpp>
-#include <boost/fusion/iterator/detail/advance.hpp>
 #include <boost/fusion/support/iterator_base.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq, typename Begin, typename End>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::erase<Seq, Begin, End>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::erase<Seq, Begin, End>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,18 +22,11 @@
     {
         template <typename Seq, typename Key>
         struct apply
- {
- typedef typename
- fusion::result_of::erase_key<Seq, Key>::type
- result;
-
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , result
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::erase_key<Seq, Key>::type
+ >::type
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/fusion_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,8 +23,8 @@
 {
     template <typename It>
     struct fusion_iterator
+ : fusion::result_of::value_of<It>
     {
- typedef typename fusion::result_of::value_of<It>::type type;
         typedef typename fusion::traits::category_of<It>::type category;
         typedef It iterator;
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq, typename Pos, typename T>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::insert<Seq, Pos, T>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::insert<Seq, Pos, T>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq, typename Pos, typename Range>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::insert_range<Seq, Pos, Range>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::insert_range<Seq, Pos, Range>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::pop_back<Seq>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::pop_back<Seq>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::pop_front<Seq>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::pop_front<Seq>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq, typename T>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::push_back<Seq, T>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::push_back<Seq, T>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -22,14 +22,11 @@
     {
         template <typename Seq, typename T>
         struct apply
- {
- typedef typename
- fusion::result_of::convert<
- typename fusion::traits::tag_of<Seq>::type
- , typename fusion::result_of::push_front<Seq, T>::type
- >::type
- type;
- };
+ : fusion::result_of::convert<
+ typename fusion::traits::tag_of<Seq>::type
+ , typename fusion::result_of::push_front<Seq, T>::type
+ >
+ {};
     };
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_EQUAL_TO_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_EQUAL_TO_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/iterator/equal_to.hpp>
@@ -24,7 +25,11 @@
         typedef typename result_of::end<Seq2Ref>::type end2_type;
 
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&, mpl::true_)
         {
             return true;
@@ -52,7 +57,11 @@
     struct sequence_equal_to<Seq1Ref, Seq2Ref, false>
     {
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&)
         {
             return false;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_GREATER_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_GREATER_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -23,7 +24,11 @@
         typedef typename result_of::end<Seq2>::type end2_type;
 
         template <typename It1, typename I2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, I2 const&, mpl::true_)
         {
             return false;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_GREATER_EQUAL_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_GREATER_EQUAL_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -23,7 +24,11 @@
         typedef typename result_of::end<Seq2Ref>::type end2_type;
 
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&, mpl::true_)
         {
             return true;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_LESS_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_LESS_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -23,7 +24,11 @@
         typedef typename result_of::end<Seq2>::type end2_type;
 
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&, mpl::true_)
         {
             return false;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_LESS_EQUAL_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_LESS_EQUAL_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -23,7 +24,11 @@
         typedef typename result_of::end<Seq2>::type end2_type;
 
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&, mpl::true_)
         {
             return true;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,6 +9,7 @@
 #ifndef BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_NOT_EQUAL_TO_HPP
 #define BOOST_FUSION_SEQUENCE_COMPARISON_DETAIL_NOT_EQUAL_TO_HPP
 
+#include <boost/config.hpp>
 #include <boost/mpl/bool.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
@@ -23,7 +24,11 @@
         typedef typename result_of::end<Seq2Ref>::type end2_type;
 
         template <typename It1, typename It2>
- static bool
+ static
+#ifndef BOOST_NO_CONSTEXPR
+ constexpr
+#endif
+ bool
         call(It1 const&, It2 const&, mpl::true_)
         {
             return false;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -72,7 +72,6 @@
 #else
 // Somehow VC8.0 and VC7.1 does not like this code
 // but barfs somewhere else.
-
         template <typename Seq1, typename Seq2>
         inline typename
             enable_if<

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_c.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SEQUENCE_INTRINSIC_VALUE_AT_C_HPP
 #define BOOST_FUSION_SEQUENCE_INTRINSIC_VALUE_AT_C_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -31,13 +31,10 @@
         {
             template <typename SeqRef, typename Key>
             struct apply
- {
- typedef typename
- result_of::value_of_data<
- typename result_of::find_key<SeqRef, Key>::type
- >::type
- type;
- };
+ : result_of::value_of_data<
+ typename result_of::find_key<SeqRef, Key>::type
+ >
+ {};
         };
 
         template <>

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SEQUENCE_SEQUENCE_FACADE_HPP
 #define BOOST_FUSION_SEQUENCE_SEQUENCE_FACADE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/category_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,10 +9,14 @@
 #ifndef BOOST_FUSION_SUPPORT_CATEGORY_OF_HPP
 #define BOOST_FUSION_SUPPORT_CATEGORY_OF_HPP
 
+#include <boost/config.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/tag_of.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
-#include <boost/config.hpp>
+#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
+# include <boost/mpl/or.hpp>
+#endif
 #include <boost/mpl/iterator_tags.hpp>
 #include <boost/type_traits/is_base_of.hpp>
 
@@ -89,6 +94,9 @@
             template<typename T>
             struct apply
             {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+
                 typedef typename
                     detail::remove_reference<T>::type::category
                 type;
@@ -103,7 +111,10 @@
           : extension::category_of_impl<
                 typename fusion::traits::tag_of<T>::type
>::template apply<typename detail::add_lref<T>::type>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_associative
@@ -111,7 +122,10 @@
                 associative_sequence_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_incrementable
@@ -119,7 +133,10 @@
                 incrementable_traversal_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_single_pass
@@ -127,7 +144,10 @@
                 single_pass_traversal_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_forward
@@ -135,7 +155,10 @@
                 forward_traversal_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_bidirectional
@@ -143,7 +166,10 @@
                 bidirectional_traversal_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
 
         template <typename T>
         struct is_random_access
@@ -151,7 +177,10 @@
                 random_access_traversal_tag
               , typename category_of<T>::type
>
- {};
+ {
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_sequence<T>, traits::is_iterator<T> >));
+ };
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,77 +1,120 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_DEDUCE_HPP
 #define BOOST_FUSION_SUPPORT_DEDUCE_HPP
 
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/internal/result_of.hpp>
+#include <boost/fusion/support/internal/ref.hpp>
 
-#include <boost/config.hpp>
-#ifdef BOOST_NO_RVALUE_REFERENCES
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/identity.hpp>
-#else
-# include <boost/mpl/if.hpp>
-#endif
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/type_traits/is_same.hpp>
+#include <boost/ref.hpp>
 
-namespace boost { namespace fusion { namespace traits
+//TODO doc
+namespace boost { namespace fusion
 {
- //TODO doc!
-#ifdef BOOST_NO_RVALUE_REFERENCES
- template <typename T>
- struct deduce_impl
- {
- typedef T type;
- };
-
- template <typename T>
- struct deduce_impl<T const&>
+ namespace traits
     {
- typedef T type;
- };
+ template <typename T>
+ struct deduce
+ {
+ typedef T type;
+ };
+
+ template <typename T>
+ struct deduce<reference_wrapper<T> >
+ {
+ typedef T& type;
+ };
+
+#define BOOST_FUSION_CV_REF_SPECIALIZATION(COMBINATION,_)\
+ template <typename T>\
+ struct deduce<T COMBINATION>\
+ {\
+ typedef detail::is_po_callable<T COMBINATION> is_po_callable;\
+ \
+ typedef typename\
+ mpl::eval_if<\
+ is_po_callable\
+ , mpl::if_<\
+ typename is_po_callable::is_pointer\
+ , T\
+ , T COMBINATION\
+ >\
+ , deduce<T>\
+ >::type\
+ type;\
+ };\
+ \
+ template <typename T>\
+ struct deduce<reference_wrapper<T> COMBINATION>\
+ {\
+ typedef T& type;\
+ };
+
+ BOOST_FUSION_CV_REF_SPECIALIZATION(volatile&,_)
+ BOOST_FUSION_CV_REF_SPECIALIZATION(const volatile&,_)
+#ifndef BOOST_NO_RVALUE_REFERENCES
+ BOOST_FUSION_CV_REF_SPECIALIZATION(volatile&&,_)
+ BOOST_FUSION_CV_REF_SPECIALIZATION(const volatile&&,_)
+#endif
+ BOOST_FUSION_ALL_CV_REF_COMBINATIONS(BOOST_FUSION_CV_REF_SPECIALIZATION,_)
 
- template <typename T>
- struct deduce_impl<T const volatile&>
- {
- typedef T type;
- };
+#undef BOOST_FUSION_CV_REF_SPECIALIZATION
 
- template <typename T>
- struct deduce
- {
- typedef typename detail::as_fusion_element<T>::type element;
+ template <typename T, int N>
+ struct deduce<T(&)[N]>
+ {
+ typedef T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<const T(&)[N]>
+ {
+ typedef const T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<volatile T(&)[N]>
+ {
+ typedef volatile T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<const volatile T(&)[N]>
+ {
+ typedef const volatile T(&type)[N];
+ };
+ }
 
- typedef typename
- mpl::eval_if<
- mpl::and_<
- detail::is_lrref<T>
- , is_same<typename detail::identity<T>::type,element>
- >
- , deduce_impl<T>
- , mpl::identity<element>
- >::type
- type;
- };
-#else
- template <typename T>
- struct deduce
+ namespace detail
     {
- typedef typename detail::as_fusion_element<T>::type element;
-
- typedef typename
- mpl::if_<
- mpl::and_<
- detail::is_lrref<T>
- , is_same<typename detail::identity<T>::type,element>
- >
- , T
- , element
- >::type
- type;
- };
-#endif
-}}}
+ template <typename T>
+ struct deduce_ref
+ {
+ typedef typename traits::deduce<T>::type deduced;
+
+ typedef typename
+ mpl::if_<
+ mpl::and_<
+ detail::is_lrref<T>
+ , is_same<typename identity<T>::type,deduced>
+ >
+ , T
+ , typename add_lref<deduced>::type
+ >::type
+ type;
+ };
+ }
+}}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/deduce_sequence.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
 
     Use modification and distribution are subject to the Boost Software
     License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -9,32 +10,31 @@
 #ifndef BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP
 #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP
 
+#include <boost/fusion/mpl.hpp>
 #include <boost/fusion/container/vector/convert.hpp>
-#include <boost/fusion/view/transform_view.hpp>
+#include <boost/fusion/adapted/mpl.hpp>
 #include <boost/fusion/support/deduce.hpp>
+#include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
+
+#include <boost/mpl/transform_view.hpp>
+#include <boost/mpl/quote.hpp>
 
 namespace boost { namespace fusion
 {
- namespace detail
- {
- struct deducer
- {
- template <typename Sig>
- struct result;
-
- template<typename Self,typename T>
- struct result<Self(T)>
- : fusion::traits::deduce<T>
- {};
- };
- }
-
     namespace traits
     {
         template <typename Seq>
         struct deduce_sequence
- : result_of::as_vector<fusion::transform_view<Seq, detail::deducer> >
- {};
+ : result_of::as_vector<
+ mpl::transform_view<
+ typename detail::remove_reference<Seq>::type
+ , mpl::quote1<traits::deduce>
+ >
+ >
+ {
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ };
     }
 }}
 

Deleted: sandbox/SOC/2009/fusion/boost/fusion/support/internal/as_fusion_element.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/as_fusion_element.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
+++ (empty file)
@@ -1,106 +0,0 @@
-/*=============================================================================
- Copyright (c) 1999-2003 Jaakko Jarvi
- Copyright (c) 2001-2006 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
-
-#ifndef BOOST_FUSION_SUPPORT_INTERNAL_AS_FUSION_ELEMENT_HPP
-#define BOOST_FUSION_SUPPORT_INTERNAL_AS_FUSION_ELEMENT_HPP
-
-//TODO cschmidt: rref
-
-#include <boost/fusion/support/internal/result_of.hpp>
-#include <boost/fusion/support/internal/ref.hpp>
-
-#include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/identity.hpp>
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/type_traits/is_same.hpp>
-#include <boost/ref.hpp>
-
-namespace boost { namespace fusion { namespace detail
-{
- template <typename T>
- struct as_fusion_element
- {
- typedef T type;
- };
-
- template <typename T>
- struct as_fusion_element<reference_wrapper<T> >
- {
- typedef T& type;
- };
-
- //TODO preserve rvalues?
-#define BOOST_FUSION_CV_REF_SPECIALIZATION(COMBINATION,_)\
- template <typename T>\
- struct as_fusion_element<T COMBINATION>\
- {\
- typedef typename\
- mpl::eval_if<\
- detail::is_po_callable<T COMBINATION>\
- , mpl::identity<T COMBINATION>\
- , as_fusion_element<T>\
- >::type\
- type;\
- };\
- \
- template <typename T>\
- struct as_fusion_element<reference_wrapper<T> COMBINATION>\
- {\
- typedef T& type;\
- };
-
- BOOST_FUSION_CV_REF_SPECIALIZATION(volatile&,_)
- BOOST_FUSION_CV_REF_SPECIALIZATION(const volatile&,_)
- BOOST_FUSION_ALL_CV_REF_COMBINATIONS(BOOST_FUSION_CV_REF_SPECIALIZATION,_)
-
-#undef BOOST_FUSION_CV_REF_SPECIALIZATION
-
- template <typename T, int N>
- struct as_fusion_element<T(&)[N]>
- {
- typedef T(&type)[N];
- };
-
- template <typename T, int N>
- struct as_fusion_element<const T(&)[N]>
- {
- typedef const T(&type)[N];
- };
-
- template <typename T, int N>
- struct as_fusion_element<volatile T(&)[N]>
- {
- typedef volatile T(&type)[N];
- };
-
- template <typename T, int N>
- struct as_fusion_element<const volatile T(&)[N]>
- {
- typedef const volatile T(&type)[N];
- };
-
- template <typename T>
- struct as_fusion_element_ref
- {
- typedef typename as_fusion_element<T>::type element;
-
- typedef typename
- mpl::if_<
- mpl::and_<
- is_lrref<T>
- , is_same<typename identity<T>::type,element>
- >
- , T
- , typename add_lref<element>::type
- >::type
- type;
- };
-}}}
-
-#endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/assert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/assert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/assert.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_ASSERT_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_ASSERT_HPP
@@ -94,13 +96,17 @@
         "Index (" BOOST_PP_STRINGIZE(INDEX) ") out of range " \
         "( [0..." BOOST_PP_STRINGIZE(MAX) ") )" \
     )
+#define BOOST_FUSION_TAG_CHECK(TYPE,TAG)\
+ BOOST_FUSION_MPL_ASSERT((is_same<typename traits::tag_of<TYPE>::type,TAG>))
 
 #ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
-# include <boost/fusion/support/is_view.hpp>
 # include <boost/fusion/support/is_sequence.hpp>
+# include <boost/fusion/support/is_view.hpp>
 # include <boost/fusion/support/is_iterator.hpp>
 # include <boost/fusion/support/category_of.hpp>
 # include <boost/fusion/support/tag_of.hpp>
+
+# include <boost/type_traits/is_same.hpp>
 #endif
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/assign_tags.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/assign_tags.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/assign_tags.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_ASSIGN_TAGS_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_ASSIGN_TAGS_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/ref.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_REF_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_REF_HPP
@@ -144,12 +146,6 @@
>::type type;
     };
 
- template <typename T>
- struct non_ref_parameter
- {
- typedef typename boost::remove_cv<T>::type const& type;
- };
-
     template <typename TestType,typename Type>
     struct forward_as
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/result_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_RESULT_OF_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_RESULT_OF_HPP
@@ -13,17 +15,12 @@
 #include <boost/fusion/support/internal/ref.hpp>
 
 #include <boost/mpl/if.hpp>
-#include <boost/utility/result_of.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/type_traits/is_pointer.hpp>
 #include <boost/type_traits/remove_pointer.hpp>
 #include <boost/type_traits/is_function.hpp>
 #include <boost/type_traits/is_member_function_pointer.hpp>
-
-#if defined(BOOST_NO_DECLTYPE) || defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
-# include <boost/mpl/if.hpp>
-#else
-# include <boost/mpl/eval_if.hpp>
-# include <boost/mpl/has_xxx.hpp>
-#endif
+#include <boost/utility/result_of.hpp>
 
 namespace boost { namespace fusion { namespace detail
 {
@@ -51,24 +48,23 @@
     template<typename FRef>
     struct is_po_callable_impl
     {
- typedef typename
- remove_pointer<
- typename detail::identity<FRef>::type
- >::type
- f;
-
- typedef
- mpl::or_<
- typename is_function<f>::type
- , typename is_member_function_pointer<f>::type
- >
- type;
+ typedef typename detail::identity<FRef>::type f;
+ typedef typename is_pointer<f>::type is_pointer;
+
+ typedef
+ mpl::or_<
+ is_function<typename remove_pointer<f>::type>
+ , is_member_function_pointer<f>
+ >
+ type;
     };
 
     template<typename FRef>
     struct is_po_callable
       : is_po_callable_impl<FRef>::type
- {};
+ {
+ typedef typename is_po_callable_impl<FRef>::is_pointer is_pointer;
+ };
 
 //cschmidt: a pp implementation won't be worth the effort
 #ifdef BOOST_NO_VARIADIC_TEMPLATES
@@ -139,12 +135,6 @@
     {};
 #endif
 
-#if defined(BOOST_NO_DECLTYPE) || defined(BOOST_NO_VARIADIC_TEMPLATES) || defined(BOOST_FUSION_CPP0X_NO_DEPRECEATED)
- namespace internal
- {
- using boost::result_of;
- }
-
     //cschmidt: The non-decltype result_of does not like ref-qualified
     //'class type' functions
     template<typename FRef>
@@ -167,63 +157,6 @@
>::type
         type;
     };
-#else
- BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type)
-
- template<typename IdentityF>
- struct get_result_type
- {
- typedef typename IdentityF::result_type type;
- };
-
- template<typename IdentityF, typename Sig>
- struct get_result
- : IdentityF::template result<Sig>
- {};
-
- template<typename IdentityF,typename F,typename... Args>
- struct result_of_class_type
- {
- typedef typename
- mpl::eval_if<
- detail::has_result_type<IdentityF>
- , detail::get_result_type<IdentityF>
- //TODO cschmidt: fallback to boost::result_of (decltype) if
- //'F::template result' does not exist.
- //Is this even possible?
- , detail::get_result<IdentityF,F(Args...)>
- >::type
- type;
- };
-
- namespace internal
- {
- template<typename Sig>
- struct result_of
- : boost::result_of<Sig>
- {};
-
- template<typename F, typename... Args>
- struct result_of<F(Args...)>
- {
- typedef typename detail::identity<F>::type f;
-
- typedef typename
- mpl::eval_if<
- is_function<f>
- , boost::result_of<F(Args...)>
- , result_of_class_type<f,F,Args...>
- >::type
- type;
- };
- }
-
- template<typename FRef>
- struct get_func_base
- {
- typedef FRef type;
- };
-#endif
 }}}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/sequence_assign.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/sequence_assign.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/sequence_assign.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,12 +1,15 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_SEQUENCE_ASSIGN_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_SEQUENCE_ASSIGN_HPP
 
 #include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/if.hpp>
@@ -38,6 +41,8 @@
     detail::sequence_assign_type<BOOST_FUSION_R_ELSE_CLREF(Seq)>
     sequence_assign(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+
         return seq;
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/template.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/template.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/template.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_TEMPLATE_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_TEMPLATE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_n.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
     template<BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PP_ITERATION(), typename T)>
     struct variadic_arguments_to_vector<

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_quote.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_quote.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_quote.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_QUOTE_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_QUOTE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/workaround.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_INTERNAL_WORKAROUND_HPP
 #define BOOST_FUSION_SUPPORT_INTERNAL_WORKAROUND_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_sequence.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,6 +11,7 @@
 
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 namespace boost { namespace fusion
 {
@@ -27,11 +29,13 @@
 
     namespace traits
     {
- template <typename T>
+ template <typename Seq>
         struct is_view
- : extension::is_view_impl<typename fusion::traits::tag_of<T>::type>::
- template apply<typename detail::add_lref<T>::type>::type
- {};
+ : extension::is_view_impl<typename fusion::traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>::type
+ {
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ };
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2006 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,7 +11,7 @@
 #define BOOST_FUSION_SUPPORT_PAIR_HPP
 
 #include <boost/fusion/support/internal/ref.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
+#include <boost/fusion/support/deduce.hpp>
 
 #if defined(BOOST_NO_VARIADIC_TEMPLATES) && defined(BOOST_NO_RVALUE_REFERENCES)
 # include <boost/call_traits.hpp>
@@ -85,7 +86,7 @@
             typedef
                 fusion::pair<
                     First
- , typename detail::as_fusion_element<Second>::type
+ , typename traits::deduce<Second>::type
>
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_SUPPORT_TAG_OF_HPP
 #define BOOST_FUSION_SUPPORT_TAG_OF_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -9,7 +9,8 @@
 #ifndef BOOST_FUSION_SUPPORT_TAG_OF_FWD_HPP
 #define BOOST_FUSION_SUPPORT_TAG_OF_FWD_HPP
 
-//cschmidt: only provided for backwards compatibility
+#include <boost/config.hpp>
+
 namespace boost { namespace fusion
 {
     namespace traits

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/unused.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -10,21 +10,20 @@
 
 #include <boost/config.hpp>
 #if defined(BOOST_MSVC)
-# pragma warning(push)
-# pragma warning(disable: 4522) // multiple assignment operators specified warning
+# pragma warning(push)
+// multiple assignment operators specified warning
+# pragma warning(disable: 4522)
 #endif
 
 namespace boost { namespace fusion {
     struct unused_type
     {
         unused_type()
- {
- }
+ {}
 
         template <typename T>
         unused_type(T const&)
- {
- }
+ {}
 
         template <typename T>
         unused_type const&
@@ -57,7 +56,7 @@
 }}
 
 #if defined(BOOST_MSVC)
-# pragma warning(pop)
+# pragma warning(pop)
 #endif
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP
 #define BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2005 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_TUPLE_TUPLE_TIE_HPP
 #define BOOST_FUSION_TUPLE_TUPLE_TIE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -41,6 +41,12 @@
>::type
                 type;
             };
+
+ template<typename NextSeq,typename StrictestSoFar>
+ typename result<
+ strictest_traversal_impl(NextSeq const&, StrictestSoFar const&)
+ >::type
+ operator()(NextSeq const&,StrictestSoFar const&);
         };
 
         template<typename Seq>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/detail/view_storage.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_DETAIL_VIEW_STORAGE_HPP
 #define BOOST_FUSION_VIEW_DETAIL_VIEW_STORAGE_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_FILTER_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_FILTER_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,6 +12,7 @@
 #include <boost/fusion/iterator/value_of.hpp>
 #include <boost/fusion/algorithm/query/detail/find_if.hpp>
 #include <boost/fusion/support/iterator_base.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 #include <boost/mpl/quote.hpp>
 #include <boost/mpl/lambda.hpp>
@@ -46,7 +48,9 @@
         template<typename OtherIt>
         filter_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
           : first(BOOST_FUSION_FORWARD(OtherIt,it).first)
- {}
+ {
+ BOOST_FUSION_TAG_CHECK(OtherIt,filter_view_iterator_tag);
+ }
 
         filter_iterator(Begin const& first,int)
           : first(filter::call(first))
@@ -56,6 +60,8 @@
         filter_iterator&
         operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
         {
+ BOOST_FUSION_TAG_CHECK(OtherIt,filter_view_iterator_tag);
+
             first=BOOST_FUSION_FORWARD(OtherIt,it).first;
             return *this;
         }

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -84,11 +85,13 @@
         {}
 #endif
 
- template<typename OtherFilterView>
+ template<typename OtherView>
         filter_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherFilterView) other_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
         {
- seq=BOOST_FUSION_FORWARD(OtherFilterView,other_view).seq;
+ BOOST_FUSION_TAG_CHECK(OtherView,filter_view_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,other_view).seq;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/iterator_range_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/iterator_range_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/detail/iterator_range_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_ITERATOR_RANGE_DETAIL_ITERATOR_RANGE_FWD_HPP
 #define BOOST_FUSION_VIEW_ITERATOR_RANGE_DETAIL_ITERATOR_RANGE_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,21 +52,25 @@
         typedef fusion_sequence_tag tag;
         typedef mpl::true_ is_view;
 
- template<typename OtherIteratorRange>
- iterator_range(BOOST_FUSION_R_ELSE_CLREF(OtherIteratorRange) range)
+ template<typename OtherRange>
+ iterator_range(BOOST_FUSION_R_ELSE_CLREF(OtherRange) range)
           : first(range.first)
           , last(range.last)
- {}
+ {
+ BOOST_FUSION_TAG_CHECK(OtherRange,iterator_range_tag);
+ }
 
         iterator_range(Begin const& first, End const& last)
           : first(first)
           , last(last)
         {}
 
- template<typename OtherIteratorRange>
+ template<typename OtherRange>
         iterator_range&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIteratorRange) other_range)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherRange) other_range)
         {
+ BOOST_FUSION_TAG_CHECK(OtherRange,iterator_range_tag);
+
             first=other_range.first;
             last=other_range.last;
             return *this;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_JOINT_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_JOINT_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/next_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -68,7 +69,6 @@
         typedef joint_view_tag fusion_tag;
         typedef fusion_sequence_tag tag;
         typedef mpl::true_ is_view;
-
         typedef typename
             mpl::plus<
                 result_of::size<seq1_type>
@@ -76,11 +76,13 @@
>::type
         size;
 
- template<typename OtherJointView>
- joint_view(BOOST_FUSION_R_ELSE_CLREF(OtherJointView) view)
- : seq1(BOOST_FUSION_FORWARD(OtherJointView,view).seq1)
- , seq2(BOOST_FUSION_FORWARD(OtherJointView,view).seq2)
- {}
+ template<typename OtherView>
+ joint_view(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
+ : seq1(BOOST_FUSION_FORWARD(OtherView,view).seq1)
+ , seq2(BOOST_FUSION_FORWARD(OtherView,view).seq2)
+ {
+ BOOST_FUSION_TAG_CHECK(OtherView,joint_view_tag);
+ }
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
         joint_view(typename storage1_type::call_param seq1,
@@ -97,12 +99,14 @@
         {}
 #endif
 
- template<typename OtherJointView>
+ template<typename OtherView>
         joint_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherJointView) other_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
         {
- seq1=BOOST_FUSION_FORWARD(OtherJointView,other_view).seq1;
- seq2=BOOST_FUSION_FORWARD(OtherJointView,other_view).seq2;
+ BOOST_FUSION_TAG_CHECK(OtherView,joint_view_tag);
+
+ seq1=BOOST_FUSION_FORWARD(OtherView,other_view).seq1;
+ seq2=BOOST_FUSION_FORWARD(OtherView,other_view).seq2;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/advance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_ADVANCE_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_ADVANCE_IMPL_HPP
@@ -20,8 +22,7 @@
     namespace detail
     {
         template<
- typename ItRef
- , typename It
+ typename It
           , typename N
           , bool /*ReuseOldIterator*/=
                 mpl::or_<
@@ -39,14 +40,14 @@
             type;
 
             static type
- call(ItRef it)
+ call(It const& it)
             {
                 return fusion::advance<N>(it.it);
             }
         };
 
- template<typename ItRef, typename It, typename N>
- struct get_cyclic_next_iterator<ItRef,It,N,/*ReuseOldIterator*/false>
+ template<typename It, typename N>
+ struct get_cyclic_next_iterator<It,N,/*ReuseOldIterator*/false>
         {
             typedef
                 mpl::modulus<
@@ -63,9 +64,9 @@
             type;
 
             static type
- call(ItRef it)
+ call(It const& it)
             {
- return fusion::advance<real_n>(begin(it.seq));
+ return fusion::advance<real_n>(fusion::begin(it.seq));
             }
         };
     }
@@ -82,7 +83,7 @@
             struct apply
             {
                 typedef typename detail::remove_reference<ItRef>::type it;
- typedef detail::get_cyclic_next_iterator<ItRef, it, N> gen;
+ typedef detail::get_cyclic_next_iterator<it, N> gen;
 
                 typedef
                     repetitive_view_iterator<
@@ -99,6 +100,7 @@
                 }
             };
         };
+
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_BEGIN_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_BEGIN_IMPL_HPP
@@ -24,7 +27,7 @@
             typedef
                 repetitive_view_iterator<
                     typename seq::seq_type
- , typename result_of::begin<seq>::type
+ , typename result_of::begin<typename seq::seq_type>::type
                   , 0
>
             type;
@@ -32,7 +35,7 @@
             static type
             call(SeqRef seq)
             {
- return type(fusion::begin(seq.seq.get()));
+ return type(seq.seq.get(),fusion::begin(seq.seq.get()));
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DEREF_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DEREF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/distance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DISTANCE_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_DISTANCE_IMPL_HPP
@@ -18,18 +20,15 @@
     {
         template<typename BeginRef, typename EndRef>
         struct apply
- {
- typedef
- mpl::minus<
- typename detail::remove_reference<
- BeginRef
- >::type::index
- , typename detail::remove_reference<
- EndRef
- >::type::index
- >
- type;
- };
+ : mpl::minus<
+ typename detail::remove_reference<
+ BeginRef
+ >::type::index
+ , typename detail::remove_reference<
+ EndRef
+ >::type::index
+ >
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,15 +1,18 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_END_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_END_IMPL_HPP
 
 #include <boost/fusion/sequence/intrinsic/empty.hpp>
 #include <boost/fusion/sequence/intrinsic/end.hpp>
+#include <boost/fusion/iterator/advance_c.hpp>
 #include <boost/fusion/support/category_of.hpp>
-#include <boost/fusion/iterator/detail/advance.hpp>
 
 #include <boost/mpl/modulus.hpp>
 #include <boost/mpl/negate.hpp>
@@ -28,42 +31,25 @@
                 mpl::or_<
                     result_of::empty<SeqRef>
                   , mpl::not_<traits::is_bidirectional<SeqRef> >
- >::type/*false*/
+ >::value/*false*/
>
         struct get_real_end_it
         {
- typedef typename result_of::end<SeqRef>::type seq_end;
             typedef
- mpl::modulus<MaxIndex, result_of::size<SeqRef> >
+ mpl::negate<mpl::modulus<MaxIndex, result_of::size<SeqRef> > >
             backwards_n;
 
             typedef typename
- mpl::eval_if<
- traits::is_random_access<SeqRef>
- , result_of::advance<seq_end, mpl::negate<backwards_n> >
- , detail::backward<seq_end, backwards_n::value>
+ result_of::advance<
+ typename result_of::end<SeqRef>::type
+ , typename backwards_n::type
>::type
             type;
 
             static type
- call_impl(SeqRef seq, mpl::true_ /*is_random_access*/)
- {
- return fusion::advance<mpl::negate<backwards_n> >(
- fusion::end(seq));
- }
-
- static type
- call_impl(SeqRef seq, mpl::false_ /*is_random_access*/)
- {
- return detail::backward<seq_end, backwards_n::value>::call(
- fusion::end(seq));
- }
-
- static type
             call(SeqRef seq)
             {
- return call_impl(seq,
- typename traits::is_random_access<SeqRef>::type());
+ return fusion::advance<backwards_n>(fusion::end(seq));
             }
         };
 
@@ -79,7 +65,7 @@
             static type
             call(SeqRef seq)
             {
- return fusion::end(seq);
+ return type(seq,fusion::end(seq));
             }
         };
     }
@@ -114,7 +100,7 @@
                 static type
                 call(SeqRef seq)
                 {
- return type(gen::call(seq.seq.get()));
+ return type(seq.seq.get(),gen::call(seq.seq.get()));
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_EQUAL_TO_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/next_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_NEXT_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_NEXT_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/prior_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_PRIOR_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_PRIOR_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_REPETITIVE_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_REPETITIVE_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/repetitive_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,13 +1,17 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_REPETITIVE_VIEW_ITERATOR_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_REPETITIVE_VIEW_ITERATOR_HPP
 
 #include <boost/fusion/support/iterator_base.hpp>
 #include <boost/fusion/support/category_of.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 #include <boost/mpl/int.hpp>
 
@@ -30,10 +34,31 @@
         typedef repetitive_view_iterator_tag fusion_tag;
         typedef typename traits::category_of<It>::type category;
 
- repetitive_view_iterator(It const& it)
- : it(it)
+ template<typename OtherIt>
+ repetitive_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ : seq(BOOST_FUSION_FORWARD(OtherIt,it).seq)
+ , it(BOOST_FUSION_FORWARD(OtherIt,it).it)
+ {
+ BOOST_FUSION_TAG_CHECK(OtherIt,repetitive_view_iterator_tag);
+ }
+
+ repetitive_view_iterator(SeqRef seq, It const& it)
+ : seq(seq)
+ , it(it)
         {}
 
+ template<typename OtherIt>
+ repetitive_view_iterator&
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it_)
+ {
+ BOOST_FUSION_TAG_CHECK(OtherIt,repetitive_view_iterator_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherIt,it_).seq;
+ it=BOOST_FUSION_FORWARD(OtherIt,it_).it;
+ return *this;
+ }
+
+ SeqRef seq;
         It it;
     };
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_VALUE_OF_IMPL_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_DETAIL_VALUE_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2007 Tobias Schwinger
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP
 #define BOOST_FUSION_VIEW_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP
@@ -15,7 +18,7 @@
 #include <boost/fusion/view/detail/view_storage.hpp>
 
 #include <boost/mpl/bool.hpp>
-#include <boost/mpl/int.hpp>
+#include <boost/mpl/long.hpp>
 #include <boost/integer_traits.hpp>
 
 #include <boost/fusion/view/repetitive_view/detail/repetitive_view_fwd.hpp>
@@ -47,8 +50,8 @@
         typedef typename storage_type::type seq_type;
 
         typedef typename traits::category_of<seq_type>::type category;
- typedef mpl::int_<integer_traits<int>::const_max> size;
- typedef reverse_view_tag fusion_tag;
+ typedef mpl::int_<integer_traits<int>::const_max-1> size;
+ typedef repetitive_view_tag fusion_tag;
         typedef fusion_sequence_tag tag;
         typedef mpl::true_ is_view;
 
@@ -76,11 +79,13 @@
         {}
 #endif
 
- template<typename OtherRepetitiveView>
+ template<typename OtherView>
         repetitive_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherRepetitiveView) other_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
         {
- seq=BOOST_FUSION_FORWARD(OtherRepetitiveView,other_view).seq;
+ BOOST_FUSION_TAG_CHECK(OtherView,reverse_view_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,other_view).seq;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -21,18 +21,15 @@
     {
         template<typename BeginRef, typename EndRef>
         struct apply
- {
- typedef typename
- result_of::distance<
- typename detail::remove_reference<
- BeginRef
- >::type::it_type
- , typename detail::remove_reference<
- EndRef
- >::type::it_type
- >::type
- type;
- };
+ : result_of::distance<
+ typename detail::remove_reference<
+ BeginRef
+ >::type::it_type
+ , typename detail::remove_reference<
+ EndRef
+ >::type::it_type
+ >
+ {};
     };
 }}}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/key_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP
 #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/reverse_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_REVERSE_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_REVERSE_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP
 #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -86,11 +87,13 @@
         {}
 #endif
 
- template<typename OtherReverseView>
+ template<typename OtherView>
         reverse_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherReverseView) other_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
         {
- seq=BOOST_FUSION_FORWARD(OtherReverseView,other_view).seq;
+ BOOST_FUSION_TAG_CHECK(OtherView,reverse_view_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,other_view).seq;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,5 @@
 /*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_SINGLE_VIEW_DETAIL_SINGLE_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_SINGLE_VIEW_DETAIL_SINGLE_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/single_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -44,8 +45,8 @@
         typedef single_view_iterator_tag fusion_tag;
         typedef forward_traversal_tag category;
 
- template<typename OtherIt>
- single_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ template<typename OtherSingleViewRef>
+ single_view_iterator(single_view_iterator<OtherSingleViewRef> const& it)
           : view(it.view)
         {}
 
@@ -53,9 +54,9 @@
           : view(&view)
         {}
 
- template<typename OtherIt>
+ template<typename OtherSingleViewRef>
         single_view_iterator&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
+ operator=(single_view_iterator<OtherSingleViewRef> const& it)
         {
             view=it.view;
             return *this;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -14,8 +15,8 @@
 #include <boost/fusion/sequence/intrinsic/front.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/sequence_base.hpp>
+#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/support/internal/sequence_assign.hpp>
-#include <boost/fusion/support/internal/as_fusion_element.hpp>
 
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/int.hpp>
@@ -117,15 +118,13 @@
 
     template <typename T>
     inline single_view<
- typename detail::as_fusion_element<BOOST_FUSION_R_ELSE_CLREF(T)>::type
+ typename traits::deduce<BOOST_FUSION_R_ELSE_CLREF(T)>::type
>
     make_single_view(BOOST_FUSION_R_ELSE_CLREF(T) v)
     {
         typedef
             single_view<
- typename detail::as_fusion_element<
- BOOST_FUSION_R_ELSE_CLREF(T)
- >::type
+ typename traits::deduce<BOOST_FUSION_R_ELSE_CLREF(T)>::type
>
         view;
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/advance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -37,7 +37,7 @@
             static type
             call(ItRef it)
             {
- return type(boost::fusion::advance<N>(it.it), *it.f);
+ return type(fusion::advance<N>(it.it), *it.f);
             }
         };
     };
@@ -64,8 +64,8 @@
             static type
             call(ItRef it)
             {
- return type(boost::fusion::advance<N>(it.it1),
- boost::fusion::advance<N>(it.it2),
+ return type(fusion::advance<N>(it.it1),
+ fusion::advance<N>(it.it2),
                             it.f);
             }
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -26,7 +26,7 @@
             typedef typename detail::remove_reference<SeqRef>::type seq;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename seq::transform_type
>::type(
@@ -38,7 +38,7 @@
             static type
             call(SeqRef seq)
             {
- return seq.f(boost::fusion::at<N>(seq.seq.get()));
+ return seq.f(fusion::at<N>(seq.seq.get()));
             }
         };
     };
@@ -52,15 +52,15 @@
             typedef typename detail::remove_reference<SeqRef>::type seq;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename seq::transform_type
>::type(
- typename boost::fusion::result_of::at<
- typename seq::seq1_type
+ typename fusion::result_of::at<
+ typename seq::seq1_type
                       , N
>::type
- , typename boost::fusion::result_of::at<
+ , typename fusion::result_of::at<
                         typename seq::seq2_type
                       , N
>::type)
@@ -70,8 +70,8 @@
             static type call(SeqRef seq)
             {
                 return seq.f(
- boost::fusion::at<N>(seq.seq1.get()),
- boost::fusion::at<N>(seq.seq2.get()));
+ fusion::at<N>(seq.seq1.get()),
+ fusion::at<N>(seq.seq2.get()));
             }
         };
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/deref_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -29,7 +29,7 @@
             it;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename it::transform_type
>::type(
@@ -56,7 +56,7 @@
             typedef typename detail::remove_reference<ItRef>::type it;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename it::transform_type
>::type(

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/transform_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -10,6 +11,7 @@
 
 #include <boost/fusion/support/iterator_base.hpp>
 #include <boost/fusion/support/category_of.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 namespace boost { namespace fusion
 {
@@ -30,7 +32,9 @@
         transform_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
           : it(BOOST_FUSION_FORWARD(OtherIt,it).it)
           , f(BOOST_FUSION_FORWARD(OtherIt,it).f)
- {}
+ {
+ BOOST_FUSION_TAG_CHECK(OtherIt,transform_view_iterator_tag);
+ }
 
         transform_view_iterator(It const& it, transform_type f)
           : it(it)
@@ -41,6 +45,8 @@
         transform_view_iterator&
         operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it_)
         {
+ BOOST_FUSION_TAG_CHECK(OtherIt,transform_view_iterator_tag);
+
             it=BOOST_FUSION_FORWARD(OtherIt,it_).it;
             f=BOOST_FUSION_FORWARD(OtherIt,it_).f;
             return *this;
@@ -82,6 +88,8 @@
         transform_view_iterator2&
         operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
         {
+ BOOST_FUSION_TAG_CHECK(OtherIt,transform_view_iterator2_tag);
+
             it1=BOOST_FUSION_FORWARD(OtherIt,it).it1;
             it2=BOOST_FUSION_FORWARD(OtherIt,it).it2;
             f=BOOST_FUSION_FORWARD(OtherIt,it).f;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -26,11 +26,11 @@
             typedef typename detail::remove_reference<SeqRef>::type seq;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename seq::transform_type
>::type(
- typename boost::fusion::result_of::value_at<
+ typename fusion::result_of::value_at<
                         typename seq::seq_type
                       , N
>::type)
@@ -48,14 +48,14 @@
             typedef typename detail::remove_reference<SeqRef>::type seq;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename seq::transform_type
>::type(
- typename boost::fusion::result_of::value_at<
+ typename fusion::result_of::value_at<
                         typename seq::seq1_type, N
>::type
- , typename boost::fusion::result_of::value_at<
+ , typename fusion::result_of::value_at<
                         typename seq::seq2_type, N
>::type)
>::type

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -26,7 +26,7 @@
             typedef typename detail::remove_reference<ItRef>::type it;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename it::transform_type
>::type(
@@ -46,7 +46,7 @@
             typedef typename detail::remove_reference<ItRef>::type it;
 
             typedef typename
- detail::internal::result_of<
+ boost::result_of<
                     typename detail::get_func_base<
                         typename it::transform_type
>::type(

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -96,11 +97,11 @@
         category;
         typedef typename result_of::size<seq1_type>::type size;
 
- template<typename OtherTransformView>
- transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
- : seq1(BOOST_FUSION_FORWARD(OtherTransformView,view).seq1)
- , seq2(BOOST_FUSION_FORWARD(OtherTransformView,view).seq2)
- , f(BOOST_FUSION_FORWARD(OtherTransformView,view).f)
+ template<typename OtherView>
+ transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
+ : seq1(BOOST_FUSION_FORWARD(OtherView,view).seq1)
+ , seq2(BOOST_FUSION_FORWARD(OtherView,view).seq2)
+ , f(BOOST_FUSION_FORWARD(OtherView,view).f)
         {}
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
@@ -122,13 +123,15 @@
         {}
 #endif
 
- template<typename OtherTransformView>
- OtherTransformView&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) other_view)
+ template<typename OtherView>
+ OtherView&
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
         {
- seq1=BOOST_FUSION_FORWARD(OtherTransformView,other_view).seq1;
- seq2=BOOST_FUSION_FORWARD(OtherTransformView,other_view).seq2;
- f=BOOST_FUSION_FORWARD(OtherTransformView,other_view).f;
+ BOOST_FUSION_TAG_CHECK(OtherView,transform_view2_tag);
+
+ seq1=BOOST_FUSION_FORWARD(OtherView,other_view).seq1;
+ seq2=BOOST_FUSION_FORWARD(OtherView,other_view).seq2;
+ f=BOOST_FUSION_FORWARD(OtherView,other_view).f;
             return *this;
         }
 
@@ -162,10 +165,10 @@
         typedef fusion_sequence_tag tag;
         typedef mpl::true_ is_view;
 
- template<typename OtherTransformView>
- unary_transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
- : seq(BOOST_FUSION_FORWARD(OtherTransformView,view).seq)
- , f(BOOST_FUSION_FORWARD(OtherTransformView,view).f)
+ template<typename OtherView>
+ unary_transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
+ : seq(BOOST_FUSION_FORWARD(OtherView,view).seq)
+ , f(BOOST_FUSION_FORWARD(OtherView,view).f)
         {}
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
@@ -183,12 +186,14 @@
         {}
 #endif
 
- template<typename OtherTransformView>
+ template<typename OtherView>
         unary_transform_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
         {
- seq=BOOST_FUSION_FORWARD(OtherTransformView,view).seq;
- f=BOOST_FUSION_FORWARD(OtherTransformView,view).f;
+ BOOST_FUSION_TAG_CHECK(OtherView,transform_view_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,view).seq;
+ f=BOOST_FUSION_FORWARD(OtherView,view).f;
             return *this;
         }
 
@@ -203,9 +208,9 @@
     {
         typedef unary_transform_view<Seq, F, mpl::true_> base;
 
- template<typename OtherTransformView>
- transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
- : base(BOOST_FUSION_FORWARD(OtherTransformView,view))
+ template<typename OtherView>
+ transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
+ : base(BOOST_FUSION_FORWARD(OtherView,view))
         {}
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
@@ -221,12 +226,11 @@
         {}
 #endif
 
- template<typename OtherTransformView>
+ template<typename OtherView>
         transform_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
         {
- *static_cast<base*>(this)=
- BOOST_FUSION_FORWARD(OtherTransformView,view);
+ *static_cast<base*>(this)=BOOST_FUSION_FORWARD(OtherView,view);
             return *this;
         }
     };
@@ -237,9 +241,9 @@
     {
         typedef unary_transform_view<Seq, F, mpl::false_> base;
 
- template<typename OtherTransformView>
- transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
- : base(BOOST_FUSION_FORWARD(OtherTransformView,view))
+ template<typename OtherView>
+ transform_view(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
+ : base(BOOST_FUSION_FORWARD(OtherView,view))
         {}
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
@@ -255,12 +259,11 @@
         {}
 #endif
 
- template<typename OtherTransformView>
+ template<typename OtherView>
         transform_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherTransformView) view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) view)
         {
- *static_cast<base*>(this)=
- BOOST_FUSION_FORWARD(OtherTransformView,view);
+ *static_cast<base*>(this)=BOOST_FUSION_FORWARD(OtherView,view);
             return *this;
         }
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,5 +1,6 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/begin_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -79,8 +79,8 @@
                 call(SeqRef seq)
                 {
                     return type(
- fusion::transform(seq.seqs, detail::poly_begin())
- , 0);
+ fusion::transform(seq.seqs, detail::poly_begin()),
+ 0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/distance_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -27,20 +27,17 @@
     {
         template<typename FoundIt, typename SearchIt>
         struct best_distance
- {
- typedef typename
- result_of::distance<
- FoundIt
- , typename result_of::find_if<
- typename SearchIt::iterators
- , is_same<
- traits::category_of<mpl::_1>
- , random_access_iterator_tag
- >
- >::type
+ : result_of::distance<
+ FoundIt
+ , typename result_of::find_if<
+ typename SearchIt::iterators
+ , is_same<
+ traits::category_of<mpl::_1>
+ , random_access_iterator_tag
+ >
>::type
- type;
- };
+ >
+ {};
 
         template<typename It1, typename It2>
         struct default_distance
@@ -88,8 +85,7 @@
                     typename detail::remove_reference<ItRef1>::type
                   , typename detail::remove_reference<ItRef2>::type
>
- {
- };
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/end_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -91,10 +91,10 @@
                 {
                     return type(
                             fusion::transform(
- seq.seqs
- , detail::endpoints<typename seq::size>()
- )
- , 0);
+ seq.seqs,
+ detail::endpoints<typename seq::size>()
+ ),
+ 0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/equal_to_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -15,7 +15,7 @@
 #include <boost/mpl/and.hpp>
 #include <boost/mpl/transform_view.hpp>
 #include <boost/mpl/zip_view.hpp>
-#include <boost/mpl/vector.hpp>
+#include <boost/mpl/vector/vector10.hpp>
 #include <boost/mpl/unpack_args.hpp>
 #include <boost/mpl/find_if.hpp>
 #include <boost/mpl/end.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_at_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -36,6 +36,10 @@
                   , result_of::value_at<SeqRef, N>
>
             {};
+
+ template<typename Seq>
+ typename result<poly_value_at(Seq const&)>::type
+ operator()(Seq const&);
         };
     }
 
@@ -49,18 +53,15 @@
         {
             template<typename SeqRef, typename N>
             struct apply
- {
- typedef typename
- result_of::transform<
+ : result_of::as_vector<
+ typename result_of::transform<
                         typename detail::remove_reference<
                             SeqRef
>::type::seqs_type
                       , detail::poly_value_at<N>
>::type
- values;
-
- typedef typename result_of::as_vector<values>::type type;
- };
+ >
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/value_of_impl.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -35,6 +35,10 @@
                   , result_of::value_of<ItRef>
>
             {};
+
+ template<typename It>
+ typename result<poly_value_of(It const&)>::type
+ operator()(It const&);
         };
     }
 
@@ -48,18 +52,15 @@
         {
             template<typename ItRef>
             struct apply
- {
- typedef typename
- result_of::transform<
+ : result_of::as_vector<
+ typename result_of::transform<
                         typename detail::remove_reference<
                             ItRef
>::type::iterators
                       , detail::poly_value_of
>::type
- values;
-
- typedef typename result_of::as_vector<values>::type type;
- };
+ >
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_fwd.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #ifndef BOOST_FUSION_VIEW_ZIP_VIEW_DETAIL_ZIP_VIEW_FWD_HPP
 #define BOOST_FUSION_VIEW_ZIP_VIEW_DETAIL_ZIP_VIEW_FWD_HPP

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/detail/zip_view_iterator.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,6 +13,7 @@
 #include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/support/iterator_base.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/assert.hpp>
 
 namespace boost { namespace fusion {
 
@@ -29,20 +31,24 @@
 
         template<typename OtherIt>
         zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
- : iterators_(sequence_assign(it.iterators_))
- {}
+ : iterators_(sequence_assign(
+ BOOST_FUSION_FORWARD(OtherIt,it).iterators_))
+ {
+ BOOST_FUSION_TAG_CHECK(OtherIt,zip_view_iterator_tag);
+ }
 
         template<typename Seq>
         zip_view_iterator(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,int)
- : iterators_(
- sequence_assign(BOOST_FUSION_FORWARD(Seq,seq)))
+ : iterators_(sequence_assign(BOOST_FUSION_FORWARD(Seq,seq)))
         {}
 
         template<typename OtherIt>
         zip_view_iterator&
         operator=(BOOST_FUSION_R_ELSE_CLREF(OtherIt) it)
         {
- iterators_=it.iterators_;
+ BOOST_FUSION_TAG_CHECK(OtherIt,zip_view_iterator_tag);
+
+ iterators_=BOOST_FUSION_FORWARD(OtherIt,it).iterators_;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -86,6 +87,10 @@
             struct result<Self(Seq)>
               : result_of::size<Seq>
             {};
+
+ template<typename Seq>
+ typename result<seq_size(Seq const&)>::type
+ operator()(Seq const&);
         };
 
         struct poly_min
@@ -100,6 +105,10 @@
                     typename detail::remove_reference<SeqSize>::type
>
             {};
+
+ template<typename MinSize,typename SeqSize>
+ typename result<poly_min(MinSize const&,SeqSize const&)>::type
+ operator()(MinSize const&, SeqSize const&);
         };
 
         template<typename Seqs>
@@ -173,11 +182,13 @@
               BOOST_FUSION_FORWARD(OtherSeqs,seqs)))
         {}
 
- template<typename OtherZipView>
+ template<typename OtherView>
         zip_view&
- operator=(BOOST_FUSION_R_ELSE_CLREF(OtherZipView) other_zip_view)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_zip_view)
         {
- seqs=BOOST_FUSION_FORWARD(OtherZipView,other_zip_view).seqs;
+ BOOST_FUSION_TAG_CHECK(OtherView,zip_view_tag);
+
+ seqs=BOOST_FUSION_FORWARD(OtherView,other_zip_view).seqs;
             return *this;
         }
 

Modified: sandbox/SOC/2009/fusion/build.bat
==============================================================================
--- sandbox/SOC/2009/fusion/build.bat (original)
+++ sandbox/SOC/2009/fusion/build.bat 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,8 +1,11 @@
 @echo off
-rem Copyright Christopher Schmidt 2009.
-rem Distributed under the Boost Software License, Version 1.0.
-rem (See accompanying file LICENSE_1_0.txt or copy at
-rem http://www.boost.org/LICENSE_1_0.txt)
+rem ===========================================================================
+rem Copyright (c) 2009 Christopher Schmidt
+rem
+rem Use, modification and distribution is subject to the Boost Software
+rem License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+rem http://www.boost.org/LICENSE_1_0.txt)
+rem ===========================================================================
 
 rem (re-)set environment variables
 set BOOST_ROOT=d:/projekte/libs/boost
@@ -19,7 +22,7 @@
             call :gcc3
         ) else (
             if "%1" == "" (
- call :vc9
+ call :gcc4
             ) else (
                 echo Unknown toolset '%1'
                 goto :eof

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/measure.hpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,11 @@
-// Copyright David Abrahams, Matthias Troyer, Michael Gauckler
-// 2005. Distributed under the Boost Software License, Version
-// 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2005 David Abrahams
+ Copyright (c) 2005 Matthias Troyer
+ Copyright (c) 2005 Michael Gauckler
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #if !defined(LIVE_CODE_TYPE)
 # define LIVE_CODE_TYPE int

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/performance/sequence_efficiency.cpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -167,9 +167,7 @@
>
     lmedium(BOOST_PP_ENUM(10, INIT, _));
 
- //TODO cschmidt: uncomment this once mpl got variadic templates
- //and we are not limited to BOOST_MPL_MAX_VECTOR_SIZE any more!
- /*vector<
+ vector<
         int, int, int, int, int, int, int, int, int, int
       , int, int, int, int, int, int, int, int, int, int
       , int, int, int, int, int, int, int, int, int, int
@@ -181,7 +179,7 @@
       , int, int, int, int, int, int, int, int, int, int
       , int, int, int, int, int, int, int, int, int, int
>
- lbig(BOOST_PP_ENUM(30, INIT, _));*/
+ lbig(BOOST_PP_ENUM(30, INIT, _));
 
     // first decide how many repetitions to measure
     long repeats = 100;

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/test/Jamfile.v2
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/test/Jamfile.v2 (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/test/Jamfile.v2 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-# Copyright Christopher Schmidt 2009.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
+# Copyright (c) 2009 Christopher Schmidt
+#
+# Use, modification and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
 
 project test ;
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,9 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
 
 #include <boost/fusion/sequence.hpp>
 #include <boost/fusion/iterator.hpp>
@@ -101,9 +103,18 @@
 
     //beg=cbeg2;
 
- deref(begin(std::forward<Seq>(seq)));
- advance_c<1>(begin(std::forward<Seq>(seq)));
- end(std::forward<Seq>(seq));
+ {
+ auto it=begin(std::forward<Seq>(seq));
+ it=begin(std::forward<Seq>(seq));
+ }
+ {
+ auto it=advance_c<1>(begin(std::forward<Seq>(seq)));
+ it=advance_c<1>(begin(std::forward<Seq>(seq)));
+ }
+ {
+ auto it=end(std::forward<Seq>(seq));
+ it=end(std::forward<Seq>(seq));
+ }
 }
 
 struct identity_int

Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/deduce_sequence.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/deduce_sequence.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/deduce_sequence.cpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -62,10 +62,11 @@
 
 int main()
 {
+ //TODO !!!
+ /*
     TEST_SAME_TYPE(deduce<int &>::type, int &);
     TEST_SAME_TYPE(deduce<int volatile &>::type, int volatile &);
 
- //TODO rvalue tests
     TEST_SAME_TYPE(deduce<int>::type, int);
 #ifdef BOOST_NO_RVALUE_REFERENCES
     TEST_SAME_TYPE(deduce<int const&>::type, int);
@@ -85,10 +86,13 @@
     TEST_SAME_TYPE(deduce< int volatile (&)[2] >::type, int volatile (&)[2]);
     TEST_SAME_TYPE(deduce< int const volatile (&)[2] >::type, int const volatile (&)[2]);
 
+ TEST_SAME_TYPE(deduce< void(*&)() >::type, void(*)());
+
     TEST_SAME_ELEMENTS(deduce_sequence<args1>::type,storable1);
     TEST_SAME_ELEMENTS(deduce_sequence<args2>::type,storable2);
     TEST_SAME_ELEMENTS(deduce_sequence<args3>::type,storable3);
     TEST_SAME_ELEMENTS(deduce_sequence<args4>::type,storable4);
+ */
 
     return boost::report_errors();
 }

Modified: sandbox/SOC/2009/fusion/libs/fusion/test/sequence/vector_n.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/sequence/vector_n.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/sequence/vector_n.cpp 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -173,9 +173,7 @@
         cout << "vector20 of int: " << sizeof(vec) << endl;
     }
 
- //TODO: Due to limitations in Boost.MPL vector only up to
- //BOOST_MPL_LIMIT_VECTOR_SIZE
- /*{
+ {
         typedef vector30<
             int, int, int, int, int, int, int, int, int, int
           , int, int, int, int, int, int, int, int, int, int
@@ -206,7 +204,7 @@
 
         type vec; // compile check only
         cout << "vector50 of int: " << sizeof(vec) << endl;
- }*/
+ }
 
     {
         // testing copy and assign from a view

Modified: sandbox/SOC/2009/fusion/project-root.jam
==============================================================================
--- sandbox/SOC/2009/fusion/project-root.jam (original)
+++ sandbox/SOC/2009/fusion/project-root.jam 2009-08-24 16:18:12 EDT (Mon, 24 Aug 2009)
@@ -1,7 +1,10 @@
-# Copyright Christopher Schmidt 2009.
-# Distributed under the Boost Software License, Version 1.0.
-# (See accompanying file LICENSE_1_0.txt or copy at
-# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
+# Copyright (c) 2009 Christopher Schmidt
+#
+# Use, modification and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#==============================================================================
 
 import os ;
 local BOOST_INCLUDES_PATH = [ os.environ BOOST_INCLUDES_PATH ] ;
@@ -10,14 +13,15 @@
     : requirements <include>.
                    <include>$(BOOST_INCLUDES_PATH)
                    <define>BOOST_FUSION_ENABLE_STATIC_ASSERTS
- <toolset>gcc-4:<cxxflags>-std=c++0x
+ <define>BOOST_FUSION_PREFER_MPL
+ <toolset>gcc:<cxxflags>-std=c++0x
     : build-dir ../bin
     : default-build debug <link>shared <runtime-link>shared <threading>multi
     ;
 
 build-project libs/fusion/example/test ;
 
-#build-project libs/fusion/doc ;
+build-project libs/fusion/doc ;
 #build-project libs/fusion/example/extension ;
-#build-project libs/fusion/example/performance ;
+build-project libs/fusion/example/performance ;
 build-project libs/fusion/test ;
\ No newline at end of file


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk