Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r54672 - in sandbox/SOC/2009/fusion: . boost/fusion/adapted/array/detail boost/fusion/adapted/boost_tuple/detail boost/fusion/adapted/std_pair/detail boost/fusion/adapted/struct/detail boost/fusion/algorithm/iteration/detail boost/fusion/algorithm/query/detail boost/fusion/algorithm/transformation boost/fusion/algorithm/transformation/detail 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/map/detail/pp boost/fusion/container/map/detail/variadic_templates boost/fusion/container/set boost/fusion/container/set/detail boost/fusion/container/set/detail/pp boost/fusion/container/set/detail/variadic_templates boost/fusion/container/vector boost/fusion/container/vector/detail boost/fusion/container/vector/detail/variadic_templates boost/fusion/functional boost/fusion/iterator boost/fusion/iterator/detail boost/fusion/mpl boost/fusion/mpl/detail boost/fusion/sequence boost/fusion/sequence/comparison/detail boost/fusion/sequence/intrinsic boost/fusion/sequence/io boost/fusion/sequence/io/detail boost/fusion/support boost/fusion/support/detail/iterator_adapter boost/fusion/support/variadic_templates boost/fusion/tuple boost/fusion/tuple/detail boost/fusion/view/detail boost/fusion/view/filter_view/detail boost/fusion/view/reverse_view/detail boost/fusion/view/single_view/detail boost/fusion/view/zip_view libs/fusion/doc libs/fusion/example/cookbook libs/fusion/test libs/fusion/test/functional
From: mr.chr.schmidt_at_[hidden]
Date: 2009-07-05 11:42:29


Author: cschmidt
Date: 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
New Revision: 54672
URL: http://svn.boost.org/trac/boost/changeset/54672

Log:
cleanup
Added:
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp (contents, props changed)
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp (contents, props changed)
Removed:
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp
   sandbox/SOC/2009/fusion/boost/fusion/functional/
   sandbox/SOC/2009/fusion/boost/fusion/tuple/detail/
   sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 152 +++++-----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp | 64 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp | 70 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/replace_if.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 24 -
   sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp | 15
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/equal_to_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/value_of_impl.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/list/at_impl.hpp | 3
   sandbox/SOC/2009/fusion/boost/fusion/container/map/convert.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/begin_impl.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp | 16
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/end_impl.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/set/convert.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/begin_impl.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/end_impl.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/container/set/set.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/convert.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp | 21
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/at_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/begin_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/deref_impl.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/end_impl.hpp | 16
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp | 21
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp | 23 +
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_at_impl.hpp | 5
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/value_of_impl.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp | 42 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_n.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector.hpp | 15
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/vector10.hpp | 7
   sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp | 45 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp | 26
   sandbox/SOC/2009/fusion/boost/fusion/iterator/detail/advance.hpp | 48 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp | 15
   sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp | 20
   sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp | 19
   sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/mpl/clear.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp | 36 +-
   sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/erase.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/erase_key.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/mpl/insert.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/insert_range.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_back.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/pop_front.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/push_back.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/push_front.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp | 16
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/equal_to.hpp | 18
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/greater_equal.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/less_equal.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/not_equal_to.hpp | 18
   sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp | 33 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 26 +
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp | 21
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp | 25
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp | 21
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 29 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp | 9
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp | 43 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp | 18
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp | 15
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp | 22 -
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp | 26 -
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp | 22
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp | 21
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp | 14
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp | 24 -
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp | 24 -
   sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp | 11
   sandbox/SOC/2009/fusion/boost/fusion/support/is_view.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp | 17
   sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 27 +
   sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp | 13
   sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp | 12
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 97 +------
   sandbox/SOC/2009/fusion/boost/fusion/view/detail/strictest_traversal.hpp | 4
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp | 24
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/distance_impl.hpp | 18
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp | 10
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp | 18
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp | 8
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp | 6
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp | 9
   sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile | 6
   sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk | 8
   sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk | 2
   sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk | 536 ++++++++-------------------------------
   sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk | 5
   sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp | 59 +++-
   sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile | 56 +--
   sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp | 2
   sandbox/SOC/2009/fusion/project-root.jam | 2
   144 files changed, 1212 insertions(+), 1513 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
         struct is_sequence_impl<array_tag>
         {
             template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/array/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
         struct is_view_impl<array_tag>
         {
             template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
             {};
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
         struct is_sequence_impl<boost_tuple_tag>
         {
             template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
         struct is_view_impl<boost_tuple_tag>
         {
             template<typename T>
- struct apply : mpl::false_ {};
+ struct apply
+ : mpl::false_
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,9 @@
         struct value_at_impl<boost_tuple_tag>
         {
             template <typename Sequence, typename N>
- struct apply : tuples::element<N::value, Sequence> {};
+ struct apply
+ : tuples::element<N::value, Sequence>
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
         struct is_sequence_impl<std_pair_tag>
         {
             template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
         struct is_view_impl<std_pair_tag>
         {
             template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
             {};
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair/detail/size_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
         struct size_impl<std_pair_tag>
         {
             template <typename Sequence>
- struct apply : mpl::int_<2> {};
+ struct apply
+ : mpl::int_<2>
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,9 @@
         struct is_sequence_impl<struct_tag>
         {
             template<typename Sequence>
- struct apply : mpl::true_ {};
+ struct apply
+ : mpl::true_
+ {};
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/is_view_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,7 +24,8 @@
         struct is_view_impl<struct_tag>
         {
             template<typename T>
- struct apply : mpl::false_
+ struct apply
+ : mpl::false_
             {};
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/struct/detail/size_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,7 +30,9 @@
         struct size_impl<struct_tag>
         {
             template <typename Sequence>
- struct apply : extension::struct_size<Sequence> {};
+ struct apply
+ : extension::struct_size<Sequence>
+ {};
         };
     }
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -73,77 +73,81 @@
             type;
         };
 
- template<typename I0, typename State, typename F, int N>
+ template<typename It0, typename State, typename F, int N>
         struct result_of_unrolled_fold;
 
         template<int N>
         struct unrolled_fold
         {
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, N>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, N>::type
+ call(It0 const& it0,
                     BOOST_FUSION_R_ELSE_LREF(State) state,
                     BOOST_FUSION_R_ELSE_LREF(F) f)
             {
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
- typedef typename result_of::next<I1>::type I2;
- I2 i2 = fusion::next(i1);
- typedef typename result_of::next<I2>::type I3;
- I3 i3 = fusion::next(i2);
- typedef typename result_of::next<I3>::type I4;
- I4 i4 = fusion::next(i3);
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2 = fusion::next(it1);
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3 = fusion::next(it2);
+ typedef typename result_of::next<It3>::type It4;
+ It4 it4 = fusion::next(it3);
 
                 return unrolled_fold<N-4>::call(
- i4,
- f(fusion::deref(i3),
- f(fusion::deref(i2),
- f(fusion::deref(i1),
- f(fusion::deref(i0),
+ it4,
+ f(fusion::deref(it3),
+ f(fusion::deref(it2),
+ f(fusion::deref(it1),
+ f(fusion::deref(it0),
                                      BOOST_FUSION_FORWARD(State,state)
- )
- )
- )
- ),
- f);
+ )
+ )
+ )
+ ),
+ BOOST_FUSION_FORWARD(F,f));
             }
         };
 
         template<>
         struct unrolled_fold<3>
         {
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 3>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 3>::type
+ call(It0 const& it0,
                     BOOST_FUSION_R_ELSE_LREF(State) state,
                     BOOST_FUSION_R_ELSE_LREF(F) f)
             {
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
- typedef typename result_of::next<I1>::type I2;
- I2 i2 = fusion::next(i1);
-
- return f(fusion::deref(i2),
- f(fusion::deref(i1),
- f(fusion::deref(i0), BOOST_FUSION_FORWARD(State,state))
- ));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2 = fusion::next(it1);
+
+ return f(fusion::deref(it2),
+ f(fusion::deref(it1),
+ f(
+ fusion::deref(it0),
+ BOOST_FUSION_FORWARD(State,state)
+ )
+ )
+ );
             }
         };
 
         template<>
         struct unrolled_fold<2>
         {
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 2>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 2>::type
+ call(It0 const& it0,
                     BOOST_FUSION_R_ELSE_LREF(State) state,
                     BOOST_FUSION_R_ELSE_LREF(F) f)
             {
- typedef typename result_of::next<I0>::type I1;
- I1 i1 = fusion::next(i0);
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1 = fusion::next(it0);
 
- return f(fusion::deref(i1),
- f(fusion::deref(i0),
+ return f(fusion::deref(it1),
+ f(fusion::deref(it0),
                           BOOST_FUSION_FORWARD(State,state)));
             }
         };
@@ -151,22 +155,22 @@
         template<>
         struct unrolled_fold<1>
         {
- template<typename I0, typename State, typename F>
- static typename result_of_unrolled_fold<I0, State, F, 1>::type
- call(I0 const& i0,
+ template<typename It0, typename State, typename F>
+ static typename result_of_unrolled_fold<It0, State, F, 1>::type
+ call(It0 const& it0,
                     BOOST_FUSION_R_ELSE_LREF(State) state,
                     BOOST_FUSION_R_ELSE_LREF(F) f)
             {
- return f(fusion::deref(i0), BOOST_FUSION_FORWARD(State,state));
+ return f(fusion::deref(it0), BOOST_FUSION_FORWARD(State,state));
             }
         };
 
         template<>
         struct unrolled_fold<0>
         {
- template<typename I0, typename State, typename F>
+ template<typename It0, typename State, typename F>
             static State
- call(I0 const&,
+ call(It0 const&,
                     BOOST_FUSION_R_ELSE_LREF(State) state,
                     BOOST_FUSION_R_ELSE_LREF(F))
             {
@@ -207,57 +211,57 @@
             );
         }
 
- template<typename I0, typename State, typename F, int N>
+ template<typename It0, typename State, typename F, int N>
         struct result_of_unrolled_fold
         {
- typedef typename result_of::next<I0>::type I1;
- typedef typename result_of::next<I1>::type I2;
- typedef typename result_of::next<I2>::type I3;
- typedef typename result_of::next<I3>::type I4;
- typedef typename fold_apply<I0, State, F>::type Rest1;
- typedef typename fold_apply<I1, Rest1, F>::type Rest2;
- typedef typename fold_apply<I2, Rest2, F>::type Rest3;
- typedef typename fold_apply<I3, Rest3, F>::type Rest4;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename result_of::next<It1>::type It2;
+ typedef typename result_of::next<It2>::type It3;
+ typedef typename result_of::next<It3>::type It4;
+ typedef typename fold_apply<It0, State, F>::type Rest1;
+ typedef typename fold_apply<It1, Rest1, F>::type Rest2;
+ typedef typename fold_apply<It2, Rest2, F>::type Rest3;
+ typedef typename fold_apply<It3, Rest3, F>::type Rest4;
 
             typedef typename
- result_of_unrolled_fold<I4, Rest4, F, N-4>::type
+ result_of_unrolled_fold<It4, Rest4, F, N-4>::type
             type;
         };
 
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 3>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 3>
         {
- typedef typename result_of::next<I0>::type I1;
- typedef typename result_of::next<I1>::type I2;
- typedef typename fold_apply<I0, State, F>::type Rest;
- typedef typename fold_apply<I1, Rest, F>::type Rest2;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename result_of::next<It1>::type It2;
+ typedef typename fold_apply<It0, State, F>::type Rest;
+ typedef typename fold_apply<It1, Rest, F>::type Rest2;
 
             typedef typename
- fold_apply<I2, Rest2, F>::type
+ fold_apply<It2, Rest2, F>::type
             type;
         };
 
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 2>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 2>
         {
- typedef typename result_of::next<I0>::type I1;
- typedef typename fold_apply<I0, State, F>::type Rest;
+ typedef typename result_of::next<It0>::type It1;
+ typedef typename fold_apply<It0, State, F>::type Rest;
 
             typedef typename
- fold_apply<I1, Rest, F>::type
+ fold_apply<It1, Rest, F>::type
             type;
         };
 
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 1>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 1>
         {
             typedef typename
- fold_apply<I0, State, F>::type
+ fold_apply<It0, State, F>::type
             type;
         };
 
- template<typename I0, typename State, typename F>
- struct result_of_unrolled_fold<I0, State, F, 0>
+ template<typename It0, typename State, typename F>
+ struct result_of_unrolled_fold<It0, State, F, 0>
         {
             typedef State type;
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -59,66 +59,66 @@
     template<int N>
     struct for_each_unrolled
     {
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
         {
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
 
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- f(fusion::deref(i2));
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ f(fusion::deref(it2));
 
- typedef typename result_of::next<I2>::type I3;
- I3 i3(fusion::next(i2));
- f(fusion::deref(i3));
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3(fusion::next(it2));
+ f(fusion::deref(it3));
 
- for_each_unrolled<N-4>::call(fusion::next(i3), f);
+ for_each_unrolled<N-4>::call(fusion::next(it3), f);
         }
     };
 
     template<>
     struct for_each_unrolled<3>
     {
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
         {
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
-
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- f(fusion::deref(i2));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
+
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ f(fusion::deref(it2));
         }
     };
 
     template<>
     struct for_each_unrolled<2>
     {
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
         {
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- f(fusion::deref(i1));
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ f(fusion::deref(it1));
         }
     };
 
     template<>
     struct for_each_unrolled<1>
     {
- template<typename I0, typename F>
- static void call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F))
+ template<typename It0, typename F>
+ static void call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F))
         {
- f(fusion::deref(i0));
+ f(fusion::deref(it0));
         }
     };
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count_if.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -70,33 +70,33 @@
         template<int n>
         struct unrolled_count_if
         {
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
             {
                 int ct = unrolled_count_if<n-4>::
- call(fusion::advance_c<4>(i0), BOOST_FUSION_FORWARD(F,f));
- if(f(fusion::deref(i0)))
+ call(fusion::advance_c<4>(it0), BOOST_FUSION_FORWARD(F,f));
+ if(f(fusion::deref(it0)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- if(f(fusion::deref(i2)))
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ if(f(fusion::deref(it2)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I2>::type I3;
- I3 i3(fusion::next(i2));
- if(f(fusion::deref(i3)))
+ typedef typename result_of::next<It2>::type It3;
+ It3 it3(fusion::next(it2));
+ if(f(fusion::deref(it3)))
                 {
                     ++ct;
                 }
@@ -108,25 +108,25 @@
         template<>
         struct unrolled_count_if<3>
         {
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
             {
                 int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I1>::type I2;
- I2 i2(fusion::next(i1));
- if(f(fusion::deref(i2)))
+ typedef typename result_of::next<It1>::type It2;
+ It2 it2(fusion::next(it1));
+ if(f(fusion::deref(it2)))
                 {
                     ++ct;
                 }
@@ -138,18 +138,18 @@
         template<>
         struct unrolled_count_if<2>
         {
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
             {
                 int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
                 {
                     ++ct;
                 }
 
- typedef typename result_of::next<I0>::type I1;
- I1 i1(fusion::next(i0));
- if(f(fusion::deref(i1)))
+ typedef typename result_of::next<It0>::type It1;
+ It1 it1(fusion::next(it0));
+ if(f(fusion::deref(it1)))
                 {
                     ++ct;
                 }
@@ -161,11 +161,11 @@
         template<>
         struct unrolled_count_if<1>
         {
- template<typename I0, typename F>
- static int call(I0 const& i0, BOOST_FUSION_R_ELSE_LREF(F) f)
+ template<typename It0, typename F>
+ static int call(It0 const& it0, BOOST_FUSION_R_ELSE_LREF(F) f)
             {
                 int ct = 0;
- if(f(fusion::deref(i0)))
+ if(f(fusion::deref(it0)))
                 {
                     ++ct;
                 }
@@ -177,8 +177,8 @@
         template<>
         struct unrolled_count_if<0>
         {
- template<typename I0, typename F>
- static int call(I0 const&, BOOST_FUSION_R_ELSE_LREF(F))
+ template<typename It0, typename F>
+ static int call(It0 const&, BOOST_FUSION_R_ELSE_LREF(F))
             {
                 return 0;
             }
@@ -196,9 +196,7 @@
>
             gen;
 
- return gen::call(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),
- BOOST_FUSION_FORWARD(F,f));
+ return gen::call(fusion::begin(seq),BOOST_FUSION_FORWARD(F,f));
         }
     }
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -90,13 +90,10 @@
>
             gen;
 
- //TODO ???
             return gen::call(
                     BOOST_FUSION_FORWARD(U, x),
- static_cast<F>(f),
- static_cast<NewValue>(new_value));
- //BOOST_FUSION_FORWARD(pred_type,f),
- //BOOST_FUSION_FORWARD(value_type,new_value));
+ f,
+ new_value);
         }
 
         F f;

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -120,12 +120,12 @@
 
         return result_type(
                 left_type(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq))
+ fusion::begin(seq)
                   , first
                 )
               , right_type(
                     last
- , fusion::end(BOOST_FUSION_FORWARD(Seq,seq))
+ , fusion::end(seq)
                 ));
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,8 +30,11 @@
     inline typename result_of::filter<BOOST_FUSION_R_ELSE_LREF(Seq), T>::type
     filter(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
     {
- return filter_view<BOOST_FUSION_R_ELSE_LREF(Seq),is_same<mpl::_, T> >(
- BOOST_FUSION_FORWARD(Seq,seq));
+ return
+ filter_view<
+ BOOST_FUSION_R_ELSE_LREF(Seq)
+ , is_same<mpl::_, T>
+ >(BOOST_FUSION_FORWARD(Seq,seq));
     }
 }}
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -43,7 +43,7 @@
     {
         return insert_range(BOOST_FUSION_FORWARD(Seq,seq)
                 , pos
- , (const single_view<T>&) make_single_view(BOOST_FUSION_FORWARD(T,x)));
+ , make_single_view(BOOST_FUSION_FORWARD(T,x)));
     }
 
     //TODO cref

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -59,13 +59,16 @@
         return result(
                 left_insert_type(
                     left_type(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),
- pos),
- BOOST_FUSION_FORWARD(Range,range)),
+ fusion::begin(seq),
+ pos
+ ),
+ BOOST_FUSION_FORWARD(Range,range)
+ ),
                 right_type(
                     pos,
- fusion::end(seq))
- );
+ fusion::end(seq)
+ )
+ );
     }
 }}
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -31,16 +31,11 @@
     join(BOOST_FUSION_R_ELSE_LREF(Lhs) lhs,
             BOOST_FUSION_R_ELSE_LREF(Rhs) rhs)
     {
- typedef typename
+ return typename
             result_of::join<
                 BOOST_FUSION_R_ELSE_LREF(Lhs)
               , BOOST_FUSION_R_ELSE_LREF(Rhs)
- >::type
- type;
-
- return type(
- BOOST_FUSION_FORWARD(Lhs,lhs)
- , BOOST_FUSION_FORWARD(Rhs,rhs));
+ >::type(lhs,rhs);
     }
 }}
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -58,6 +58,7 @@
               , BOOST_FUSION_R_ELSE_LREF(NewValue)
>::type
         type;
+
         typedef
             detail::replacer_if<
                 typename detail::as_fusion_element<

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -54,14 +54,8 @@
         nil(const nil&)
         {}
 
- template<typename Seq>
- nil(detail::sequence_assign_type<Seq> const volatile&)
- {
- //TODO cschmidt: assert!
- }
-
- template<typename Sequence>
- nil(detail::sequence_assign_type<Sequence> const volatile&&)
+ template<typename SeqAssign>
+ nil(BOOST_FUSION_R_ELSE_LREF(SeqAssign))
         {
             //TODO cschmidt: assert!
         }
@@ -125,19 +119,19 @@
 
         //cschmidt: rvalue ref if possible, so this does not collide with
         //cons(OtherCar&&,OtherCdr&&)
- template<typename Iterator>
+ template<typename It>
         cons(detail::assign_by_deref,
- BOOST_FUSION_R_ELSE_CLREF(Iterator) iterator)
- : car(fusion::deref(iterator))
- , cdr(detail::assign_by_deref(),fusion::next(iterator))
+ BOOST_FUSION_R_ELSE_CLREF(It) it)
+ : car(fusion::deref(it))
+ , cdr(detail::assign_by_deref(),fusion::next(it))
         {}
 
         /*
- template<typename Sequence>
+ template<typename Seq>
         vector(typename enable_if_c<sizeof...(Elements)!=1,
- BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type seq)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)>::type seq)
           : base(detail::assign_by_deref(),
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)))
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)))
         {}
         */
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,30 +16,29 @@
 {
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct as_list
         {
             typedef typename
                 extension::convert_impl<list_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
             gen;
 
             typedef typename gen::type type;
         };
     }
 
- template <typename Sequence>
- inline typename
- result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_list(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_list(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         typedef typename
- result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_list<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
         gen;
+
         return gen::call(seq);
     }
 
 }}
 
-
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
         template <>
         struct deref_impl<cons_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::cons_type
+ detail::remove_reference<ItRef>::type::cons_type
                 cons_type;
                 typedef typename
                     detail::remove_reference<cons_type>::type::car_type
@@ -36,9 +36,9 @@
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return i.cons->car;
+ return it.cons->car;
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,17 +20,17 @@
         template <>
         struct equal_to_impl<cons_iterator_tag>
         {
- template <typename I1Ref, typename I2Ref>
+ template <typename It1Ref, typename It2Ref>
             struct apply
               : is_same<
                     typename detail::identity<
                         typename detail::remove_reference<
- I1Ref
+ It1Ref
>::type::cons_type
>::type
                   , typename detail::identity<
                         typename detail::remove_reference<
- I2Ref
+ It2Ref
>::type::cons_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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
         template <>
         struct value_of_impl<cons_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::cons_type
+ detail::remove_reference<ItRef>::type::cons_type
                 cons_type;
 
                 typedef typename

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -37,8 +37,7 @@
                 static type
                 call(SeqRef seq)
                 {
- return fusion::at<N>(
- static_cast<storage_type&>(seq.get_data()));
+ return fusion::at<N>(seq.get_data());
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,25 +16,26 @@
 {
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct as_map
         {
             typedef typename
                 extension::convert_impl<map_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
             gen;
 
             typedef typename gen::apply::type type;
         };
     }
 
- template <typename Sequence>
- inline typename result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_map(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_map(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         typedef typename
- result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_map<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
         gen;
+
         return gen::call(seq);
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,22 +20,22 @@
         template <>
         struct at_key_impl<map_tag>
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Sequence>::type::
+ detail::remove_reference<SeqRef>::type::
                         template meta_at_impl<Key>::type
                 element;
 
                 typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return s.at_impl(mpl::identity<Key>());
+ return seq.at_impl(mpl::identity<Key>());
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
         template <>
         struct begin_impl<map_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
                 typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
                 storage_type;
 
@@ -34,10 +37,9 @@
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return fusion::begin(
- static_cast<storage_type>(s.get_data()));
+ return fusion::begin(seq.get_data());
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,27 +26,29 @@
         template <>
         struct convert_impl<map_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
 #ifdef BOOST_NO_VARIADIC_TEMPLATES
                 typedef typename
- detail::as_map<result_of::size<Sequence>::value>
+ detail::as_map<result_of::size<SeqRef>::value>
                 gen;
- typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typedef typename
+ gen::template apply<
+ typename result_of::begin<SeqRef>::type
+ >::type
                 type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(
                             fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
                 }
 #else
- typedef typename detail::as_map_impl<Sequence> gen;
+ typedef typename detail::as_map_impl<SeqRef> gen;
                 typedef typename gen::apply::type type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(seq);
                 }

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
         template <>
         struct end_impl<map_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
                 typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
                 storage_type;
 
@@ -34,10 +37,9 @@
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return fusion::end(
- static_cast<storage_type>(s.get_data()));
+ return fusion::end(seq.get_data());
                 }
             };
         };

Deleted: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/pp/map_lookup.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,128 +0,0 @@
-/*=============================================================================
- 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_CONTAINER_MAP_DETAIL_PP_MAP_LOOKUP_HPP
-#define BOOST_FUSION_CONTAINER_MAP_DETAIL_PP_MAP_LOOKUP_HPP
-#define FUSION_MAP_LOOKUP_07212005_1118
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (push)
-#pragma warning(disable: 4348) // redefinition of default parameter
-#endif
-
- template <typename Key, typename dummy = int>
- struct meta_at_impl
- {
- typedef void_ type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl
- {
- typedef vector_iterator<storage_type, storage_type::size::value> type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl_const
- {
- typedef vector_iterator<storage_type const, storage_type::size::value> type;
- };
-
- template <typename Key>
- vector_iterator<storage_type const, storage_type::size::value>
- find_impl(mpl::identity<Key>) const
- {
- return vector_iterator<storage_type const, storage_type::size::value>(data);
- }
-
- template <typename Key>
- vector_iterator<storage_type, storage_type::size::value>
- find_impl(mpl::identity<Key>)
- {
- return vector_iterator<storage_type, storage_type::size::value>(data);
- }
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/map/detail/map_lookup.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_MAP_SIZE))
-#include BOOST_PP_ITERATE()
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (pop)
-#endif
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <typename dummy>
- struct meta_at_impl<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef typename detail::map_value_type<BOOST_PP_CAT(T, N)>::type type;
- };
-
- typename detail::map_data_type<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return detail::map_lookup_key<
- N
- , typename detail::map_data_type<BOOST_PP_CAT(T, N)>::type
- , typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type
- , storage_type>::call(data);
- }
-
- typename detail::map_const_data_type<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return detail::map_lookup_key<
- N
- , typename detail::map_const_data_type<BOOST_PP_CAT(T, N)>::type
- , typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type
- , storage_type const>::call(data);
- }
-
- template <typename dummy>
- struct meta_find_impl<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type, N> type;
- };
-
- template <typename dummy>
- struct meta_find_impl_const<
- typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type const, N> type;
- };
-
- vector_iterator<storage_type, N>
- find_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return vector_iterator<storage_type, N>(data);
- }
-
- vector_iterator<storage_type const, N>
- find_impl(mpl::identity<typename detail::map_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return vector_iterator<storage_type const, N>(data);
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/value_at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,14 +21,12 @@
         template <>
         struct value_at_key_impl<map_tag>
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Sequence>::type
- identity_sequence_type;
- typedef typename
- identity_sequence_type::template meta_at_impl<Key>::type
+ detail::remove_reference<SeqRef>::type::
+ template meta_at_impl<Key>::type
                 type;
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/detail/variadic_templates/as_map_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,7 +17,8 @@
 
 namespace boost { namespace fusion { namespace detail
 {
- template<typename Sequence>struct as_map_impl
+ template<typename SeqRef>
+ struct as_map_impl
     {
         struct apply
         {
@@ -25,17 +26,17 @@
                 mpl::apply<
                     mpl::unpack_args<variadic_quote<map> >
                   , typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
             type;
         };
 
         static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
         {
             return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
         }
     };
 }}}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -55,8 +55,6 @@
         typedef vector<EXPAND_ARGUMENTS(FUSION_MAX_MAP_SIZE)> storage_type;
         typedef typename storage_type::size size;
 
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
- //TODO cschmidt: enable for non-variadic templates version?
 private:
         template<class Key>struct is_key
         {
@@ -127,10 +125,9 @@
>
             type;
         };
-#endif
 
         map()
- : data() {}
+ {}
 
 #define MAP_CTOR(COMBINATION)\
         map(map COMBINATION map_)\
@@ -148,8 +145,7 @@
             : data(BOOST_FUSION_FORWARD(Arg,arg))
         {}
 
-# include <boost/fusion/container/map/detail/pp/set_forward_ctor.hpp>
-# include <boost/fusion/container/map/detail/pp/set_lookup.hpp>
+# include <boost/fusion/container/map/detail/pp/map_forward_ctor.hpp>
 #else
         template <typename... OtherArguments>
         map(BOOST_FUSION_R_ELSE_CLREF(OtherArguments)... other_arguments)

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,27 +16,27 @@
 {
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct as_set
         {
             typedef typename
                 extension::convert_impl<set_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
             gen;
 
             typedef typename gen::apply::type type;
         };
     }
 
- template <typename Sequence>
- inline typename result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_set(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_set(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         typedef typename
- result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_set<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
         gen;
 
- return gen::call(BOOST_FUSION_FORWARD(Sequence,seq));
+ return gen::call(seq);
     }
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,22 +20,22 @@
         template <>
         struct at_key_impl<set_tag>
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Sequence>::type::
+ detail::remove_reference<SeqRef>::type::
                         template meta_at_impl<Key>::type
                 element;
 
                 typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return s.at_impl(mpl::identity<Key>());
+ return seq.at_impl(mpl::identity<Key>());
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,14 @@
         template <>
         struct begin_impl<set_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
                 typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
                 storage_type;
 
@@ -34,10 +36,9 @@
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return fusion::begin(
- static_cast<storage_type>(s.get_data()));
+ return fusion::begin(seq.get_data());
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,28 +26,28 @@
         template <>
         struct convert_impl<set_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
 #ifdef BOOST_NO_VARIADIC_TEMPLATES
                 typedef typename
- detail::as_set<result_of::size<Sequence>::value>
+ detail::as_set<result_of::size<SeqRef>::value>
                 gen;
                 typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typename result_of::begin<SeqRef>::type>::type
                 type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(
                             fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
                 }
 #else
- typedef typename detail::as_set_impl<Sequence> gen;
+ typedef typename detail::as_set_impl<SeqRef> gen;
 
                 typedef typename gen::apply::type type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(seq);
                 }

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,15 @@
         template <>
         struct end_impl<set_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
                 typedef typename
- detail::result_of_forward_as<Sequence
- , typename detail::remove_reference<Sequence>::type::storage_type
+ detail::result_of_forward_as<
+ SeqRef
+ , typename detail::remove_reference<
+ SeqRef
+ >::type::storage_type
>::type
                 storage_type;
 
@@ -34,10 +37,9 @@
                 type;
 
                 static type
- call(Sequence s)
+ call(SeqRef seq)
                 {
- return fusion::end(
- static_cast<storage_type>(s.get_data()));
+ return fusion::end(seq.get_data());
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_forward_ctor.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -7,7 +7,6 @@
 
 #ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_FORWARD_CTOR_HPP
 #define BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_FORWARD_CTOR_HPP
-#define FUSION_SET_FORWARD_CTOR_09162005_1115
 
 #include <boost/preprocessor/iterate.hpp>
 #include <boost/preprocessor/repetition/enum_params.hpp>
@@ -18,7 +17,6 @@
 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE)
 #include BOOST_PP_ITERATE()
 
-#endif
 #else // defined(BOOST_PP_IS_ITERATING)
 ///////////////////////////////////////////////////////////////////////////////
 //

Deleted: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/pp/set_lookup.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,122 +0,0 @@
-/*=============================================================================
- 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_CONTAINER_SET_DETAIL_PP_SET_LOOKUP_HPP
-#define BOOST_FUSION_CONTAINER_SET_DETAIL_PP_SET_LOOKUP_HPP
-#define FUSION_SET_LOOKUP_09162005_1116
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/arithmetic/dec.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/type_traits/add_const.hpp>
-#include <boost/type_traits/add_reference.hpp>
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (push)
-#pragma warning(disable: 4348) // redefinition of default parameter
-#endif
-
- template <typename Key, typename dummy = int>
- struct meta_at_impl
- {
- typedef void_ type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl
- {
- typedef vector_iterator<storage_type, storage_type::size::value> type;
- };
-
- template <typename Key, typename dummy = int>
- struct meta_find_impl_const
- {
- typedef vector_iterator<storage_type const, storage_type::size::value> type;
- };
-
- template <typename Key>
- vector_iterator<storage_type const, storage_type::size::value>
- find_impl(mpl::identity<Key>) const
- {
- return vector_iterator<storage_type const, storage_type::size::value>(data);
- }
-
- template <typename Key>
- vector_iterator<storage_type, storage_type::size::value>
- find_impl(mpl::identity<Key>)
- {
- return vector_iterator<storage_type, storage_type::size::value>(data);
- }
-
-#define BOOST_PP_FILENAME_1 \
- <boost/fusion/container/set/detail/set_lookup.hpp>
-#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_SET_SIZE))
-#include BOOST_PP_ITERATE()
-
-#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310)
-#pragma warning (pop)
-#endif
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <typename dummy>
- struct meta_at_impl<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef BOOST_PP_CAT(T, N) type;
- };
-
- typename add_reference<BOOST_PP_CAT(T, N)>::type
- at_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return data.at_impl(mpl::int_<N>());
- }
-
- typename add_reference<typename add_const<BOOST_PP_CAT(T, N)>::type>::type
- at_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return data.at_impl(mpl::int_<N>());
- }
-
- template <typename dummy>
- struct meta_find_impl<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type, N> type;
- };
-
- template <typename dummy>
- struct meta_find_impl_const<
- typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type, dummy>
- {
- typedef vector_iterator<storage_type const, N> type;
- };
-
- vector_iterator<storage_type, N>
- find_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>)
- {
- return vector_iterator<storage_type, N>(data);
- }
-
- vector_iterator<storage_type const, N>
- find_impl(mpl::identity<typename detail::set_key_type<BOOST_PP_CAT(T, N), N>::type>) const
- {
- return vector_iterator<storage_type const, N>(data);
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/value_at_key_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,14 +21,12 @@
         template <>
         struct value_at_key_impl<set_tag>
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Sequence>::type
- identity_sequence_type;
- typedef typename
- identity_sequence_type::template meta_at_impl<Key>::type
+ detail::remove_reference<SeqRef>::type::
+ template meta_at_impl<Key>::type
                 type;
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/set/detail/variadic_templates/as_set_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,8 @@
 
 namespace boost { namespace fusion { namespace detail
 {
- template<typename Sequence>struct as_set_impl
+ template<typename SeqRef>
+ struct as_set_impl
     {
         struct apply
         {
@@ -24,17 +25,17 @@
                 mpl::apply<
                     mpl::unpack_args<variadic_quote<set> >
                   , typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
             type;
         };
 
         static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
         {
             return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
         }
     };
 }}}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -51,8 +51,6 @@
         typedef vector<EXPAND_ARGUMENTS(FUSION_MAX_SET_SIZE)> storage_type;
         typedef typename storage_type::size size;
 
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
- //TODO cschmidt: enable for non-variadic templates version?
         template <typename Key>
         struct meta_at_impl
         {
@@ -61,9 +59,9 @@
                     typename mpl::contains<
                         typename storage_type::types
                       , Key
- >::type,
- Key,
- void_
+ >::type
+ , Key
+ , void_
>::type
             type;
         };
@@ -101,10 +99,9 @@
>
             type;
         };
-#endif
 
         set()
- : data() {}
+ {}
 
 #define SET_CTOR(COMBINATION)\
         set(set COMBINATION set_)\
@@ -123,7 +120,6 @@
         {}
 
 # include <boost/fusion/container/set/detail/pp/set_forward_ctor.hpp>
-# include <boost/fusion/container/set/detail/pp/set_lookup.hpp>
 #else
         template <typename... OtherArguments>
         set(BOOST_FUSION_R_ELSE_CLREF(OtherArguments)... other_arguments)

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,25 +16,26 @@
 {
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct as_vector
         {
             typedef typename
                 extension::convert_impl<vector_tag>::
- template apply<typename detail::add_lref<Sequence>::type>
+ template apply<typename detail::add_lref<Seq>::type>
             gen;
 
             typedef typename gen::type type;
         };
     }
 
- template <typename Sequence> inline typename
- result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- as_vector(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq> inline typename
+ result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ as_vector(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         typedef typename
- result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ result_of::as_vector<BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
         gen;
+
         return gen::call(seq);
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,21 +22,24 @@
         template <>
         struct advance_impl<vector_iterator_tag>
         {
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef vector_iterator<vector, index::value+N::value> type;
+ detail::remove_reference<ItRef>::type
+ it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value+N::value
+ >
+ type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(*i.vec,0);
+ return type(*it.vec,0);
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,24 +23,24 @@
         template <>
         struct at_impl<vector_tag>
         {
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
             struct apply
             {
                 typedef typename
                     mpl::at<
- typename detail::remove_reference<Sequence>::type::types
+ typename detail::remove_reference<SeqRef>::type::types
                       , N
>::type
                 element;
 
                 typedef typename
- detail::result_of_forward_as<Sequence,element>::type
+ detail::result_of_forward_as<SeqRef,element>::type
                 type;
 
                 static type
- call(Sequence v)
+ call(SeqRef seq)
                 {
- return v.at_impl(N());
+ return seq.at_impl(N());
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,15 +18,15 @@
         template <>
         struct begin_impl<vector_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
- typedef vector_iterator<Sequence, 0> type;
+ typedef vector_iterator<SeqRef, 0> type;
 
                 static type
- call(Sequence v)
+ call(SeqRef seq)
                 {
- return type(BOOST_FUSION_FORWARD(Sequence,v),0);
+ return type(seq,0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/convert_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,27 +26,28 @@
         template <>
         struct convert_impl<vector_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
 #ifdef BOOST_NO_VARIADIC_TEMPLATES
                 typedef typename
- detail::as_vector<result_of::size<Sequence>::value>
+ detail::as_vector<result_of::size<SeqRef>::value>
                 gen;
+
                 typedef typename gen::template apply<
- typename result_of::begin<Sequence>::type>::type
+ typename result_of::begin<SeqRef>::type>::type
                 type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(
                             fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq)));
                 }
 #else
- typedef typename detail::as_vector_impl<Sequence> gen;
+ typedef typename detail::as_vector_impl<SeqRef> gen;
                 typedef typename gen::apply::type type;
 
- static type call(Sequence seq)
+ static type call(SeqRef seq)
                 {
                     return gen::call(seq);
                 }

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,16 +24,15 @@
         template <>
         struct deref_impl<vector_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
- typedef typename detail::remove_reference<Iterator>::type iterator;
- typedef typename iterator::vector vector;
- typedef typename iterator::index index;
+ typedef typename detail::remove_reference<ItRef>::type it;
+ typedef typename it::vector vector;
                 typedef typename
                     mpl::at<
                         typename detail::remove_reference<vector>::type::types
- , index
+ , typename it::index
>::type
                 element;
 
@@ -42,9 +41,9 @@
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return i.vec->at_impl(index());
+ return it.vec->at_impl(typename it::index());
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,18 +18,20 @@
         template <>
         struct end_impl<vector_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
- typedef typename
- detail::remove_reference<Sequence>::type::size
- size;
- typedef vector_iterator<Sequence, size::value> type;
+ typedef
+ vector_iterator<
+ SeqRef
+ , detail::remove_reference<SeqRef>::type::size::value
+ >
+ type;
 
                 static type
- call(Sequence v)
+ call(SeqRef seq)
                 {
- return type(BOOST_FUSION_FORWARD(Sequence,v),0);
+ return type(seq,0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,11 +22,11 @@
         template <>
         struct equal_to_impl<vector_iterator_tag>
         {
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
             struct apply
               : is_same<
- typename detail::remove_reference<I1>::type::identity
- , typename detail::remove_reference<I2>::type::identity
+ typename detail::remove_reference<It1Ref>::type::identity
+ , typename detail::remove_reference<It2Ref>::type::identity
>
             {
             };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,21 +23,22 @@
         template <>
         struct next_impl<vector_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
- typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef vector_iterator<vector, index::value+1> type;
+ typedef typename detail::remove_reference<ItRef>::type it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value+1
+ >
+ type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(*i.vec,0);
+ return type(*it.vec,0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,25 +22,30 @@
         template <>
         struct prior_impl<vector_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
- typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
- typedef vector_iterator<vector, index::value-1> type;
+ detail::remove_reference<ItRef>::type
+ it;
+
+ typedef
+ vector_iterator<
+ typename it::vector
+ , it::index::value-1
+ >
+ type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(*i.vec,0);
+ return type(*it.vec,0);
                 }
             };
         };
     }
 }}
 
+//TODO I1 -> It1Ref
+
 #endif

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,12 +22,13 @@
         template <>
         struct value_at_impl<vector_tag>
         {
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
             struct apply
             {
                 typedef typename
                     mpl::at<
- typename detail::remove_reference<Sequence>::type::types, N
+ typename detail::remove_reference<SeqRef>::type::types
+ , N
>::type
                 type;
             };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,19 +22,20 @@
         template <>
         struct value_of_impl<vector_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::vector
- vector;
+ detail::remove_reference<ItRef>::type
+ it;
                 typedef typename
- detail::remove_reference<Iterator>::type::index
- index;
+ it::vector
+ vector;
+
                 typedef typename
                     mpl::at<
                         typename detail::remove_reference<vector>::type::types
- , index
+ , typename it::index
>::type
                 type;
             };

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/as_vector_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,8 @@
 
 namespace boost { namespace fusion { namespace detail
 {
- template<typename Sequence>struct as_vector_impl
+ template<typename SeqRef>
+ struct as_vector_impl
     {
         struct apply
         {
@@ -24,17 +25,17 @@
                 mpl::apply<
                     mpl::unpack_args<variadic_quote<vector> >
                   , typename detail::to_random_access_mpl_seq<
- typename detail::remove_reference<Sequence>::type
+ typename detail::remove_reference<SeqRef>::type
>::type
>::type
             type;
         };
 
         static typename apply::type
- call(Sequence sequence)
+ call(SeqRef seq)
         {
             return typename apply::type(
- sequence_assign(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ sequence_assign(BOOST_FUSION_FORWARD(SeqRef,seq)));
         }
     };
 }}}

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/variadic_templates/vector_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -44,14 +44,14 @@
             {
             }
 
- template<typename Iterator>
- vector_impl(assign_by_deref,Iterator const&)
+ template<typename It>
+ vector_impl(assign_by_deref,It const&)
             {
             }
 
- template<typename Iterator>
+ template<typename It>
             void
- assign(Iterator const&)
+ assign(It const&)
             {
             }
 
@@ -83,19 +83,19 @@
             {
             }
 
- template<typename Iterator>
- vector_impl(assign_by_deref,Iterator const& iterator):
- base(assign_by_deref(),fusion::next(iterator)),
- _element(fusion::deref(iterator))
+ template<typename It>
+ vector_impl(assign_by_deref,It const& it)
+ : base(assign_by_deref(),fusion::next(it))
+ , _element(fusion::deref(it))
             {
             }
 
- template<typename Iterator>
+ template<typename It>
             void
- assign(Iterator const& iterator)
+ assign(It const& it)
             {
- _element=fusion::deref(iterator);
- static_cast<base*>(this)->assign(fusion::next(iterator));
+ _element=fusion::deref(it);
+ static_cast<base*>(this)->assign(fusion::next(it));
             }
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
@@ -163,20 +163,20 @@
 
 #undef VECTOR_CTOR
 
- template<typename SequenceAssign>
- vector(BOOST_FUSION_R_ELSE_CLREF(SequenceAssign) seq,
+ template<typename SeqAssign>
+ vector(BOOST_FUSION_R_ELSE_CLREF(SeqAssign) seq,
                typename enable_if<
- is_sequence_assign<SequenceAssign> >::type* =NULL)
+ is_sequence_assign<SeqAssign> >::type* =NULL)
           : base(detail::assign_by_deref(),fusion::begin(seq.get()))
         {
         }
 
         /*
- template<typename Sequence>
+ template<typename Seq>
         vector(typename enable_if_c<sizeof...(Elements)!=1,
- BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type seq)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)>::type seq)
           : base(detail::assign_by_deref(),
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq.seq)))
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq.seq)))
         {
         }
         */
@@ -197,12 +197,12 @@
         }
 #endif
 
- template<typename Sequence>
+ template<typename Seq>
         vector&
- operator=(BOOST_FUSION_R_ELSE_CLREF(Sequence) sequence)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
         {
             static_cast<base*>(this)->assign(
- fusion::begin(BOOST_FUSION_FORWARD(Sequence,sequence)));
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)));
             return *this;
         }
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -48,11 +48,11 @@
 # endif
 #endif
 
- template<typename Sequence>
+ template<typename Seq>
     BOOST_PP_CAT(vector, N)&
- operator=(BOOST_FUSION_R_ELSE_CLREF(Sequence) sequence)
+ operator=(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- *static_cast<base*>(this)=BOOST_FUSION_FORWARD(Sequence,sequence);
+ *static_cast<base*>(this)=BOOST_FUSION_FORWARD(Seq,seq);
         return *this;
     }
 };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -48,21 +48,26 @@
         typedef typename vector_n::is_view is_view;
 
         vector()
- : vec() {}
+ : vec()
+ {}
 
         template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename U)>
         vector(vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, U)> const& rhs)
- : vec(rhs.vec) {}
+ : vec(rhs.vec)
+ {}
 
         vector(vector const& rhs)
- : vec(rhs.vec) {}
+ : vec(rhs.vec)
+ {}
 
         template <typename Sequence>
         vector(Sequence const& rhs)
 #if BOOST_WORKAROUND(BOOST_MSVC, <= 1400)
- : vec(ctor_helper(rhs, is_base_of<vector, Sequence>())) {}
+ : vec(ctor_helper(rhs, is_base_of<vector, Sequence>()))
+ {}
 #else
- : vec(rhs) {}
+ : vec(rhs)
+ {}
 #endif
 
         // Expand a couple of forwarding constructors for arguments

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -57,10 +57,11 @@
         typedef random_access_traversal_tag category;
         typedef mpl::int_<0> size;
 
- vector0() {}
+ vector0()
+ {}
 
- template<typename Sequence>
- vector0(Sequence const& seq)
+ template<typename Seq>
+ vector0(Seq const& seq)
         {}
     };
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,60 +27,61 @@
         struct advance_impl
         {
             // default implementation
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
             struct apply
               : mpl::if_c<
                     (N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
+ , advance_detail::forward<ItRef, N::value>
+ , advance_detail::backward<ItRef, N::value>
>::type
             {
- BOOST_FUSION_MPL_ASSERT_NOT(
- traits::is_random_access<Iterator>,
- "default implementation not available for random access iterators");
+// BOOST_FUSION_MPL_ASSERT_NOT(
+// traits::is_random_access<ItRef>,
+// "default implementation not available for random access iterators");
             };
         };
 
         template <>
         struct advance_impl<iterator_facade_tag>
         {
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
             struct apply
- : detail::remove_reference<Iterator>::type::template advance<Iterator, N>
+ : detail::remove_reference<ItRef>::type::
+ template advance<ItRef, N>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Iterator, int N>
+ template <typename It, int N>
         struct advance_c
- : extension::advance_impl<typename traits::tag_of<Iterator>::type>::
+ : extension::advance_impl<typename traits::tag_of<It>::type>::
                 template apply<
- typename detail::add_lref<Iterator>::type
+ typename detail::add_lref<It>::type
                   , mpl::int_<N>
>
         {};
 
- template <typename Iterator, typename N>
+ template <typename It, typename N>
         struct advance
- : extension::advance_impl<typename traits::tag_of<Iterator>::type>::
- template apply<typename detail::add_lref<Iterator>::type, N>
+ : extension::advance_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type, N>
         {};
     }
 
- template <int N, typename Iterator>
- inline typename result_of::advance_c<Iterator const&, N>::type const
- advance_c(Iterator const& i)
+ template <int N, typename It>
+ inline typename result_of::advance_c<It const&, N>::type const
+ advance_c(It const& it)
     {
- return result_of::advance_c<Iterator const&, N>::call(i);
+ return result_of::advance_c<It const&, N>::call(it);
     }
 
- template<typename N, typename Iterator>
- inline typename result_of::advance<Iterator const&, N>::type const
- advance(Iterator const& i)
+ template<typename N, typename It>
+ inline typename result_of::advance<It const&, N>::type const
+ advance(It const& it)
     {
- return result_of::advance<Iterator const&, N>::call(i);
+ return result_of::advance<It const&, N>::call(it);
     }
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -25,34 +25,34 @@
         template <>
         struct deref_impl<iterator_facade_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
- : detail::remove_reference<Iterator>::type::template deref<Iterator>
+ : detail::remove_reference<ItRef>::type::template deref<ItRef>
             {};
        };
     }
 
     namespace result_of
     {
- template <typename Iterator>
+ template <typename It>
         struct deref
- : extension::deref_impl<typename traits::tag_of<Iterator>::type>::
- template apply<typename detail::add_lref<Iterator>::type>
+ : extension::deref_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
         {};
     }
 
- template <typename Iterator>
- typename result_of::deref<Iterator const&>::type
- deref(Iterator const& i)
+ template <typename It>
+ typename result_of::deref<It const&>::type
+ deref(It const& it)
     {
- return result_of::deref<Iterator const&>::call(i);
+ return result_of::deref<It const&>::call(it);
     }
 
- template <typename Iterator>
- typename result_of::deref<Iterator const&>::type
- operator*(iterator_base<Iterator> const& i)
+ template <typename It>
+ typename result_of::deref<It const&>::type
+ operator*(iterator_base<It> const& it)
     {
- return fusion::deref(i.cast());
+ return fusion::deref(it.cast());
     }
 }}
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,84 +17,84 @@
 
 namespace boost { namespace fusion { namespace advance_detail
 {
- // Default advance implementation, perform next(i)
- // or prior(i) N times.
+ // Default advance implementation, perform next(it)
+ // or prior(it) N times.
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct forward;
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct next_forward
     {
         typedef typename
             forward<
- typename result_of::next<Iterator>::type
+ typename result_of::next<ItRef>::type
               , N-1
>::type
         type;
     };
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct forward
     {
         typedef typename
             mpl::eval_if_c<
                 (N == 0)
- , mpl::identity<Iterator>
- , next_forward<Iterator, N>
+ , mpl::identity<ItRef>
+ , next_forward<ItRef, N>
>::type
         type;
 
         static type
- call(type i)
+ call(type it)
         {
- return i;
+ return it;
         }
 
- template <typename I>
+ template <typename OtherIt>
         static type
- call(BOOST_FUSION_R_ELSE_CLREF(I) i)
+ call(OtherIt const& it)
         {
- return call(fusion::next(BOOST_FUSION_FORWARD(I,i)));
+ return call(fusion::next(it));
         }
     };
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct backward;
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct next_backward
     {
         typedef typename
             backward<
- typename result_of::prior<Iterator>::type
+ typename result_of::prior<ItRef>::type
               , N+1
>::type
         type;
     };
 
- template <typename Iterator, int N>
+ template <typename ItRef, int N>
     struct backward
     {
         typedef typename
             mpl::eval_if_c<
                 (N == 0)
- , mpl::identity<Iterator>
- , next_backward<Iterator, N>
+ , mpl::identity<ItRef>
+ , next_backward<ItRef, N>
>::type
         type;
 
         static type
- call(type i)
+ call(type it)
         {
- return i;
+ return it;
         }
 
- template <typename I>
+ template <typename OtherIt>
         static type
- call(BOOST_FUSION_R_ELSE_CLREF(I) i)
+ call(OtherIt const& it)
         {
- return call(fusion::prior(BOOST_FUSION_FORWARD(I,i)));
+ return call(fusion::prior(it));
         }
     };
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,8 +8,9 @@
 #ifndef BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
 #define BOOST_FUSION_ITERATOR_ITERATOR_FACADE_HPP
 
-#include <boost/fusion/support/iterator_base.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/category_of.hpp>
 #include <boost/fusion/support/assert.hpp>
 
@@ -28,21 +29,21 @@
         typedef Category category;
 
         // default implementation
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
         struct equal_to // default implementation
           : is_same<
- typename detail::remove_reference<I1>::type::derived_type
- , typename detail::remove_reference<I2>::type::derived_type
+ typename detail::remove_reference<It1Ref>::type::derived_type
+ , typename detail::remove_reference<It2Ref>::type::derived_type
>
         {};
 
         // default implementation
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
         struct advance
           : mpl::if_c<
                 (N::value > 0)
- , advance_detail::forward<Iterator, N::value>
- , advance_detail::backward<Iterator, N::value>
+ , advance_detail::forward<ItRef, N::value>
+ , advance_detail::backward<ItRef, N::value>
>::type
         {
      // BOOST_FUSION_MPL_ASSERT_NOT(

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,29 +23,27 @@
         template <>
         struct next_impl<iterator_facade_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
- : detail::remove_reference<Iterator>::type::
- template next<Iterator>
+ : detail::remove_reference<ItRef>::type::template next<ItRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Iterator>
+ template <typename It>
         struct next
- : extension::next_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::next_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
         {};
     }
 
- template <typename Iterator>
- typename result_of::next<Iterator const&>::type const
- next(Iterator const& i)
+ template <typename It>
+ typename result_of::next<It const&>::type const
+ next(It const& it)
     {
- return result_of::next<Iterator const&>::call(i);
+ return result_of::next<It const&>::call(it);
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,28 +23,27 @@
         template <>
         struct prior_impl<iterator_facade_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
- : detail::remove_reference<Iterator>::type::template prior<Iterator>
+ : detail::remove_reference<ItRef>::type::template prior<ItRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Iterator>
+ template <typename It>
         struct prior
- : extension::prior_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::prior_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
         {};
     }
 
- template <typename Iterator>
- typename result_of::prior<Iterator const&>::type const
- prior(Iterator const& i)
+ template <typename It>
+ typename result_of::prior<It const&>::type const
+ prior(It const& it)
     {
- return result_of::prior<Iterator const&>::call(i);
+ return result_of::prior<It const&>::call(it);
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,20 +24,19 @@
         template <>
         struct value_of_impl<iterator_facade_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
- : detail::remove_reference<Iterator>::type::template value_of<Iterator>
+ : detail::remove_reference<ItRef>::type::template value_of<ItRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Iterator>
+ template <typename It>
         struct value_of
- : extension::value_of_impl<
- typename traits::tag_of<Iterator>::type
- >::template apply<typename detail::add_lref<Iterator>::type>
+ : extension::value_of_impl<typename traits::tag_of<It>::type>::
+ template apply<typename detail::add_lref<It>::type>
         {};
     }
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,12 @@
     template <>
     struct clear_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
         {
             typedef typename
                 fusion::detail::clear<
- typename fusion::traits::tag_of<Sequence>::type
+ typename fusion::traits::tag_of<Seq>::type
>::type
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/fusion_iterator.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,35 +20,43 @@
 
 namespace boost { namespace mpl
 {
- template <typename Iterator>
+ template <typename It>
     struct fusion_iterator
     {
- typedef typename fusion::result_of::value_of<Iterator>::type type;
- typedef typename fusion::traits::category_of<Iterator>::type category;
- typedef Iterator iterator;
+ typedef typename fusion::result_of::value_of<It>::type type;
+ typedef typename fusion::traits::category_of<It>::type category;
+ typedef It iterator;
     };
 
- template <typename Iterator>
- struct next<fusion_iterator<Iterator> >
+ template <typename It>
+ struct next<fusion_iterator<It> >
     {
- typedef fusion_iterator<typename fusion::result_of::next<Iterator>::type> type;
+ typedef
+ fusion_iterator<typename fusion::result_of::next<It>::type>
+ type;
     };
 
- template <typename Iterator>
- struct prior<fusion_iterator<Iterator> >
+ template <typename It>
+ struct prior<fusion_iterator<It> >
     {
- typedef fusion_iterator<typename fusion::result_of::prior<Iterator>::type> type;
+ typedef
+ fusion_iterator<typename fusion::result_of::prior<It>::type>
+ type;
     };
 
- template <typename Iterator, typename N>
- struct advance<fusion_iterator<Iterator>, N>
+ template <typename It, typename N>
+ struct advance<fusion_iterator<It>, N>
     {
- typedef fusion_iterator<typename fusion::result_of::advance<Iterator, N>::type> type;
+ typedef
+ fusion_iterator<
+ typename fusion::result_of::advance<It, N>::type
+ >
+ type;
     };
 
     template <typename First, typename Last>
     struct distance<fusion_iterator<First>, fusion_iterator<Last> >
- : fusion::result_of::distance<First, Last>
+ : fusion::result_of::distance<First, Last>
     {};
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/empty.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
     template <>
     struct empty_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
- : fusion::result_of::empty<Sequence>
+ : fusion::result_of::empty<Seq>
         {};
     };
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/end.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
     template <>
     struct end_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
         {
             typedef
- fusion_iterator<typename fusion::result_of::end<Sequence>::type>
+ fusion_iterator<typename fusion::result_of::end<Seq>::type>
             type;
         };
     };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct erase_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename First, typename Last>
+ template <typename Seq, typename First, typename Last>
         struct apply
         {
             typedef typename
- fusion::result_of::erase<Sequence, First, Last>::type
+ fusion::result_of::erase<Seq, First, Last>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct erase_key_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
         struct apply
         {
             typedef typename
- fusion::result_of::erase_key<Sequence, Key>::type
+ fusion::result_of::erase_key<Seq, Key>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,10 +20,10 @@
     template <>
     struct front_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
           : fusion::result_of::value_of<
- typename fusion::result_of::begin<Sequence>::type
+ typename fusion::result_of::begin<Seq>::type
>
         {};
     };

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/has_key.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
     template <>
     struct has_key_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
         struct apply
- : fusion::result_of::has_key<Sequence, Key>
+ : fusion::result_of::has_key<Seq, Key>
         {};
     };
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct insert_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename Pos, typename T>
+ template <typename Seq, typename Pos, typename T>
         struct apply
         {
             typedef typename
- fusion::result_of::insert<Sequence, Pos, T>::type
+ fusion::result_of::insert<Seq, Pos, T>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct insert_range_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename Pos, typename Range>
+ template <typename Seq, typename Pos, typename Range>
         struct apply
         {
             typedef typename
- fusion::result_of::insert_range<Sequence, Pos, Range>::type
+ fusion::result_of::insert_range<Seq, Pos, Range>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct pop_back_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
         {
             typedef typename
- fusion::result_of::pop_back<Sequence>::type
+ fusion::result_of::pop_back<Seq>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct pop_front_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
         {
             typedef typename
- fusion::result_of::pop_front<Sequence>::type
+ fusion::result_of::pop_front<Seq>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct push_back_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename T>
+ template <typename Seq, typename T>
         struct apply
         {
             typedef typename
- fusion::result_of::push_back<Sequence, T>::type
+ fusion::result_of::push_back<Seq, T>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,16 +21,16 @@
     template <>
     struct push_front_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence, typename T>
+ template <typename Seq, typename T>
         struct apply
         {
             typedef typename
- fusion::result_of::push_front<Sequence, T>::type
+ fusion::result_of::push_front<Seq, T>::type
             result;
 
             typedef typename
                 fusion::result_of::convert<
- typename fusion::traits::tag_of<Sequence>::type, result
+ typename fusion::traits::tag_of<Seq>::type, result
>::type
             type;
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/size.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,9 +19,9 @@
     template <>
     struct size_impl<fusion::fusion_sequence_tag>
     {
- template <typename Sequence>
+ template <typename Seq>
         struct apply
- : fusion::result_of::size<Sequence>
+ : fusion::result_of::size<Seq>
         {};
     };
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/detail/enable_comparison.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,18 +18,26 @@
 
 namespace boost { namespace fusion { namespace detail
 {
- template <typename Sequence>
- struct is_native_fusion_sequence : is_base_of<sequence_root, Sequence> {};
+ template <typename Seq>
+ struct is_native_fusion_sequence
+ : is_base_of<sequence_root, Seq>
+ {};
 
     template <typename Seq1, typename Seq2>
     struct enable_equality
- : mpl::or_<is_native_fusion_sequence<Seq1>, is_native_fusion_sequence<Seq2> >
+ : mpl::or_<
+ is_native_fusion_sequence<Seq1>
+ , is_native_fusion_sequence<Seq2>
+ >
     {};
 
     template <typename Seq1, typename Seq2>
     struct enable_comparison
         : mpl::and_<
- mpl::or_<is_native_fusion_sequence<Seq1>, is_native_fusion_sequence<Seq2> >
+ mpl::or_<
+ is_native_fusion_sequence<Seq1>
+ , is_native_fusion_sequence<Seq2>
+ >
           , mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
>
     {};

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,26 +23,26 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
         {
             return true;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
         {
             return fusion::deref(a) == fusion::deref(b)
                 && call(fusion::next(a), fusion::next(b));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };
@@ -50,9 +50,9 @@
     template <typename Seq1, typename Seq2>
     struct sequence_equal_to<Seq1, Seq2, false>
     {
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
             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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, I2 const&, mpl::true_)
         {
             return false;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
         {
             return fusion::deref(a) > fusion::deref(b)
                 || !(fusion::deref(b) > fusion::deref(a))
                 && call(fusion::next(a), fusion::next(b));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,26 +22,26 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
         {
             return true;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
         {
             return fusion::deref(a) >= fusion::deref(b)
                 && (!(*b >= *a) || call(fusion::next(a), fusion::next(b)));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
         {
             return false;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename I2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, I2 const& b, mpl::false_)
         {
             return fusion::deref(a) < fusion::deref(b)
                 || (!(fusion::deref(b) < fusion::deref(a))
                         && call(fusion::next(a), fusion::next(b)));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,27 +22,27 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
         {
             return true;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
         {
             return fusion::deref(a) <= fusion::deref(b)
                 && (!(fusion::deref(b) <= fusion::deref(a))
                         || call(fusion::next(a), fusion::next(b)));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,26 +22,26 @@
         typedef typename result_of::end<Seq1>::type end1_type;
         typedef typename result_of::end<Seq2>::type end2_type;
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const&, I2 const&, mpl::true_)
+ call(It1 const&, It2 const&, mpl::true_)
         {
             return false;
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b, mpl::false_)
+ call(It1 const& a, It2 const& b, mpl::false_)
         {
             return fusion::deref(a) != fusion::deref(b)
                 || call(fusion::next(a), fusion::next(b));
         }
 
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
- typename result_of::equal_to<I1, end1_type>::type eq;
+ typename result_of::equal_to<It1, end1_type>::type eq;
             return call(a, b, eq);
         }
     };
@@ -49,9 +49,9 @@
     template <typename Seq1, typename Seq2>
     struct sequence_not_equal_to<Seq1, Seq2, false>
     {
- template <typename I1, typename I2>
+ template <typename It1, typename It2>
         static bool
- call(I1 const& a, I2 const& b)
+ call(It1 const& a, It2 const& b)
         {
             return true;
         }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -18,27 +18,28 @@
 
     namespace result_of
     {
- template <typename Tag, typename Sequence>
+ template <typename Tag, typename Seq>
         struct convert
         {
             typedef typename extension::convert_impl<Tag> gen;
 
             typedef typename gen::
- template apply<typename detail::add_lref<Sequence>::type>::type
+ template apply<typename detail::add_lref<Seq>::type>::type
             type;
         };
     }
 
- template <typename Tag, typename Sequence>
+ template <typename Tag, typename Seq>
     inline typename result_of::convert<
         Tag
- , BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- convert(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ , BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ convert(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         typedef typename result_of::convert<
             Tag
- , BOOST_FUSION_R_ELSE_CLREF(Sequence)>::gen
+ , BOOST_FUSION_R_ELSE_CLREF(Seq)>::gen
         gen;
+
         return gen::call(seq);
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,43 +27,40 @@
         template <>
         struct at_impl<sequence_facade_tag>
         {
- template <typename Sequence, typename N>
+ template <typename SeqRef, typename N>
             struct apply
- : detail::remove_reference<Sequence>::type::template at<Sequence, N>
+ : detail::remove_reference<SeqRef>::type::template at<SeqRef, N>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
         struct at
- : extension::at_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::at_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
         {};
 
- template <typename Sequence, int N>
+ template <typename Seq, int N>
         struct at_c
- : at<Sequence, mpl::int_<N> >
+ : at<Seq, mpl::int_<N> >
         {};
     }
 
-
- //TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- template <typename N, typename Sequence>
- inline typename result_of::at<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::type
- at(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename N, typename Seq>
+ inline typename result_of::at<BOOST_FUSION_R_ELSE_LREF(Seq), N>::type
+ at(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
     {
- return result_of::at<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::at<BOOST_FUSION_R_ELSE_LREF(Seq), N>::call(seq);
     }
 
- template <int N, typename Sequence>
+ template <int N, typename Seq>
     inline typename
- result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Sequence), N>::type
- at_c(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::at_c<BOOST_FUSION_R_ELSE_LREF(Seq), N>::type
+ at_c(BOOST_FUSION_R_ELSE_LREF(Seq) seq)
     {
- return fusion::at<mpl::int_<N> >(BOOST_FUSION_FORWARD(Sequence,seq));
+ return fusion::at<mpl::int_<N> >(seq);
     }
 }}
 

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,30 +26,34 @@
         template <>
         struct at_key_impl<sequence_facade_tag>
         {
- template <typename Sequence, typename Key>
- struct apply :
- detail::remove_reference<Sequence>::type::template at_key<Sequence, Key>
+ template <typename SeqRef, typename Key>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template at_key<SeqRef, Key>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
         struct at_key
- : extension::at_key_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, Key>
+ : extension::at_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, Key>
         {};
     }
 
- template <typename Key, typename Sequence>
+ template <typename Key, typename Seq>
     inline typename result_of::at_key<
- BOOST_FUSION_R_ELSE_CLREF(Sequence)
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
       , Key>::type
- at_key(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ at_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- return result_of::at_key<BOOST_FUSION_R_ELSE_CLREF(Sequence), Key>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return
+ result_of::at_key<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , Key
+ >::call(seq);
     }
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,19 +22,19 @@
 
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct back
             : result_of::deref<typename result_of::prior<
- typename result_of::end<Sequence>::type>::type
+ typename result_of::end<Seq>::type>::type
>
         {};
     }
 
- template <typename Sequence>
- inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- back(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- return *fusion::prior(fusion::end(BOOST_FUSION_FORWARD(Sequence,seq)));
+ return *fusion::prior(fusion::end(seq));
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,31 +24,30 @@
         template <>
         struct begin_impl<sequence_facade_tag>
         {
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template begin<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template begin<SeqRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct begin
- : extension::begin_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::begin_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
         {};
     }
 
     //TODO cschmidt: const retval?!
 
- template <typename Sequence>
+ template <typename Seq>
     inline typename
- result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- begin(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ begin(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- return result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>::call(seq);
     }
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,37 +24,36 @@
         template <typename Tag>
         struct empty_impl
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
- : mpl::bool_<(result_of::size<Sequence>::value == 0)>
+ : mpl::bool_<(result_of::size<SeqRef>::value == 0)>
             {};
         };
 
         template <>
         struct empty_impl<sequence_facade_tag>
         {
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template empty<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template empty<SeqRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct empty
- : extension::empty_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::empty_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
         {};
     }
 
- template <typename Sequence>
- inline typename result_of::empty<Sequence const&>::type
- empty(Sequence const&)
+ template <typename Seq>
+ inline typename result_of::empty<Seq const&>::type
+ empty(Seq const&)
     {
- typedef typename result_of::empty<Sequence const&>::type result;
- return result();
+ return typename result_of::empty<Seq const&>::type();
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -24,29 +24,28 @@
         template <>
         struct end_impl<sequence_facade_tag>
         {
- template <typename Sequence>
- struct apply :
- detail::remove_reference<Sequence>::type::template end<Sequence>
+ template <typename SeqRef>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::template end<SeqRef>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct end
- : extension::end_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type>
+ : extension::end_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type>
         {};
     }
 
- template <typename Sequence>
+ template <typename Seq>
     inline typename
- result_of::end<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type const
- end(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type const
+ end(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- return result_of::end<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::call(
- BOOST_FUSION_FORWARD(Sequence,seq));
+ return result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>::call(seq);
     }
 
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,17 +20,17 @@
 
     namespace result_of
     {
- template <typename Sequence>
+ template <typename Seq>
         struct front
- : result_of::deref<typename result_of::begin<Sequence>::type>
+ : result_of::deref<typename result_of::begin<Seq>::type>
         {};
     }
 
- template <typename Sequence>
- inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Sequence)>::type
- front(BOOST_FUSION_R_ELSE_CLREF(Sequence) seq)
+ template <typename Seq>
+ inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
- return *fusion::begin(BOOST_FUSION_FORWARD(Sequence,seq));
+ return *fusion::begin(seq);
     }
 
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,40 +26,41 @@
         template <typename Tag>
         struct has_key_impl
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
- : mpl::not_<is_same<
- typename detail::remove_reference<Sequence>::type::
+ : mpl::not_<is_same<
+ typename detail::remove_reference<SeqRef>::type::
                         template meta_at_impl<Key>::type
- , void_> >
+ , void_>
+ >
             {};
         };
 
         template <>
         struct has_key_impl<sequence_facade_tag>
         {
- template <typename Sequence, typename Key>
+ template <typename SeqRef, typename Key>
             struct apply
- : detail::remove_reference<Sequence>::type::
- template has_key<Sequence, Key>
+ : detail::remove_reference<SeqRef>::type::
+ template has_key<SeqRef, Key>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence, typename Key>
+ template <typename Seq, typename Key>
         struct has_key
- : extension::has_key_impl<typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, Key>
+ : extension::has_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, Key>
         {};
     }
 
- template <typename Key, typename Sequence>
- inline typename result_of::has_key<Sequence, Key>::type
- has_key(Sequence const& seq)
+ template <typename Key, typename Seq>
+ inline typename result_of::has_key<Seq const&, Key>::type
+ has_key(Seq const& seq)
     {
- typedef typename result_of::has_key<Sequence const&, Key>::type result;
+ typedef typename result_of::has_key<Seq const&, Key>::type result;
         return result();
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -50,12 +50,11 @@
         };
     }
 
- template <typename Sequence>
- inline typename result_of::size<Sequence const&>::type
- size(Sequence const&)
+ template <typename Seq>
+ inline typename result_of::size<Seq const&>::type
+ size(Seq const&)
     {
- typedef typename result_of::size<Sequence const&>::type result;
- return result();
+ return typename result_of::size<Seq const&>::type();
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -9,27 +9,18 @@
 #ifndef BOOST_FUSION_SEQUENCE_INTRINSIC_SWAP_HPP
 #define BOOST_FUSION_SEQUENCE_INTRINSIC_SWAP_HPP
 
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/view/zip_view.hpp>
-#include <boost/fusion/algorithm/iteration/for_each.hpp>
-#include <boost/fusion/sequence/intrinsic/front.hpp>
-#include <boost/fusion/sequence/intrinsic/back.hpp>
-
-#include <boost/utility/enable_if.hpp>
-#include <boost/mpl/and.hpp>
+#include <boost/config.hpp>
+#ifndef BOOST_NO_RVALUE_REFERENCES
+# include <boost/fusion/view/zip_view.hpp>
+# include <boost/fusion/algorithm/iteration/for_each.hpp>
+# include <boost/fusion/sequence/intrinsic/front.hpp>
+# include <boost/fusion/sequence/intrinsic/back.hpp>
+#endif
 
 #include <algorithm>
 
 namespace boost { namespace fusion {
- namespace result_of
- {
- template<typename Seq1, typename Seq2>
- struct swap
- {
- typedef void type;
- };
- }
-
+#ifdef BOOST_NO_RVALUE_REFERENCES
     namespace detail
     {
         struct swap
@@ -48,16 +39,28 @@
             }
         };
     }
+#endif
 
+ namespace result_of
+ {
+ template<typename Seq1, typename Seq2>
+ struct swap
+ {
+ typedef void type;
+ };
+ }
+
+#ifdef BOOST_NO_RVALUE_REFERENCES
     template<typename Seq1, typename Seq2>
- typename enable_if<mpl::and_<
- traits::is_sequence<Seq1>,
- traits::is_sequence<Seq2> > >::type
+ void
     swap(Seq1& lhs, Seq2& rhs)
     {
         typedef vector<Seq1&, Seq2&> references;
         for_each(zip_view<references>(references(lhs, rhs)), detail::swap());
     }
+#else
+ using std::swap;
+#endif
 }}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,25 +26,25 @@
         template <>
         struct value_at_impl<sequence_facade_tag>
         {
- template <typename Sequence, typename N>
- struct apply :
- detail::remove_reference<Sequence>::type::template value_at<Sequence, N>
+ template <typename SeqRef, typename N>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template value_at<SeqRef, N>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
         struct value_at
- : extension::value_at_impl<
- typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::value_at_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
         {};
 
- template <typename Sequence, int N>
+ template <typename Seq, int N>
         struct value_at_c
- : fusion::result_of::value_at<Sequence,mpl::int_<N> >
+ : fusion::result_of::value_at<Seq,mpl::int_<N> >
         {};
     }
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -27,21 +27,20 @@
         template <>
         struct value_at_key_impl<sequence_facade_tag>
         {
- template <typename Sequence, typename Key>
- struct apply :
- detail::remove_reference<Sequence>::type::
- template value_at_key<Sequence, Key>
+ template <typename SeqRef, typename Key>
+ struct apply
+ : detail::remove_reference<SeqRef>::type::
+ template value_at_key<SeqRef, Key>
             {};
         };
     }
 
     namespace result_of
     {
- template <typename Sequence, typename N>
+ template <typename Seq, typename N>
         struct value_at_key
- : extension::value_at_key_impl<
- typename traits::tag_of<Sequence>::type>::
- template apply<typename detail::add_lref<Sequence>::type, N>
+ : extension::value_at_key_impl<typename traits::tag_of<Seq>::type>::
+ template apply<typename detail::add_lref<Seq>::type, N>
         {};
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -7,18 +7,21 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
+//TODO !!!
+
 #ifndef BOOST_FUSION_SEQUENCE_IO_DETAIL_IN_HPP
 #define BOOST_FUSION_SEQUENCE_IO_DETAIL_IN_HPP
 
 #include <istream>
-#include <boost/fusion/sequence/io/detail/manip.hpp>
 
-#include <boost/mpl/bool.hpp>
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/iterator/equal_to.hpp>
+#include <boost/fusion/sequence/io/detail/manip.hpp>
+
+#include <boost/mpl/bool.hpp>
 
 namespace boost { namespace fusion { namespace detail
 {
@@ -73,9 +76,9 @@
         }
     };
 
- template <typename IS, typename Sequence>
+ template <typename IS, typename Seq>
     inline void
- read_sequence(IS& is, Sequence& seq)
+ read_sequence(IS& is, Seq& seq)
     {
         delimiter_in<tuple_open_tag>::read(is, "(");
         read_sequence_loop::call(is, fusion::begin(seq), fusion::end(seq));

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -17,16 +17,13 @@
 
 // Tuple I/O manipulators
 
-#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
-#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
-
 #if defined (BOOST_NO_TEMPLATED_STREAMS)
-#define FUSION_STRING_OF_STREAM(Stream) std::string
+# define BOOST_FUSION_STRING_OF_STREAM(Stream) std::string
 #else
-#define FUSION_STRING_OF_STREAM(Stream) \
- std::basic_string< \
- FUSION_GET_CHAR_TYPE(Stream) \
- , FUSION_GET_TRAITS_TYPE(Stream) \
+# define BOOST_FUSION_STRING_OF_STREAM(Stream) \
+ std::basic_string< \
+ typename Stream::char_type \
+ , typename Stream::traits_type \
>
 #endif
 
@@ -83,13 +80,12 @@
         class string_ios_manip
         {
         public:
-
- typedef FUSION_STRING_OF_STREAM(Stream) string_type;
+ typedef BOOST_FUSION_STRING_OF_STREAM(Stream) string_type;
 
             typedef stream_data<Stream, Tag, string_type> stream_data_t;
 
             string_ios_manip(Stream& str_)
- : stream(str_)
+ : stream(str_)
             {}
 
             void
@@ -308,9 +304,7 @@
 
 #undef STD_TUPLE_DEFINE_MANIPULATOR
 #undef STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS
-#undef FUSION_STRING_OF_STREAM
-#undef FUSION_GET_CHAR_TYPE
-#undef FUSION_GET_TRAITS_TYPE
+#undef BOOST_FUSION_STRING_OF_STREAM
 
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -74,9 +74,9 @@
         }
     };
 
- template <typename OS, typename Sequence>
+ template <typename OS, typename Seq>
     inline void
- print_sequence(OS& os, Sequence const& seq)
+ print_sequence(OS& os, Seq const& seq)
     {
         delimiter_out<tuple_open_tag>::print(os, "(");
         print_sequence_loop::call(os, fusion::begin(seq), fusion::end(seq));

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,14 +10,15 @@
 #define BOOST_IN_05042005_0120
 
 #include <istream>
-#include <boost/fusion/sequence/io/detail/in.hpp>
+
 #include <boost/fusion/support/is_sequence.hpp>
+#include <boost/fusion/sequence/io/detail/in.hpp>
 
 namespace boost { namespace fusion
 {
- template <typename Sequence>
+ template <typename Seq>
     inline std::istream&
- in(std::istream& is, Sequence& seq)
+ in(std::istream& is, Seq& seq)
     {
         detail::read_sequence(is, seq);
         return is;
@@ -25,17 +26,18 @@
 
     namespace operators
     {
- template <typename Sequence>
+ template <typename Seq>
         inline typename
             enable_if<
- fusion::traits::is_sequence<Sequence>
+ fusion::traits::is_sequence<Seq>
               , std::istream&
>::type
- operator>>(std::istream& is, Sequence& seq)
+ operator>>(std::istream& is, Seq& seq)
         {
             return fusion::in(is, seq);
         }
     }
+
     using operators::operator>>;
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,16 +10,18 @@
 #define BOOST_OUT_05042005_0120
 
 #include <ostream>
+
 #include <boost/fusion/sequence/io/detail/out.hpp>
 #include <boost/fusion/support/is_sequence.hpp>
+
 #include <boost/utility/enable_if.hpp>
 #include <boost/mpl/or.hpp>
 
 namespace boost { namespace fusion
 {
- template <typename Sequence>
+ template <typename Seq>
     inline std::ostream&
- out(std::ostream& os, Sequence& seq)
+ out(std::ostream& os, Seq& seq)
     {
         detail::print_sequence(os, seq);
         return os;
@@ -27,13 +29,13 @@
     
     namespace operators
     {
- template <typename Sequence>
+ template <typename Seq>
         inline typename
             enable_if<
- fusion::traits::is_sequence<Sequence>
+ fusion::traits::is_sequence<Seq>
               , std::ostream&
>::type
- operator<<(std::ostream& os, Sequence const& seq)
+ operator<<(std::ostream& os, Seq const& seq)
         {
             return fusion::out(os, seq);
         }

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
 
 namespace boost { namespace fusion
 {
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
     struct iterator_adapter;
 
     struct iterator_adapter_tag;
@@ -23,32 +23,26 @@
         template <>
         struct advance_impl<iterator_adapter_tag>
         {
- template <typename Iterator, typename N>
+ template <typename ItRef, typename N>
             struct apply
             {
                 //TODO cschmidt: category assert
-
- typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
-
- typedef typename
- detail::result_of_forward_as<Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ typedef typename detail::remove_reference<ItRef>::type it;
 
                 typedef
                     iterator_adapter<
- typename result_of::advance<iterator_type, N>::type
- , typename identity_iterator::category
+ typename result_of::advance<
+ typename it::iterator_type
+ , N
+ >::type
+ , typename it::category
>
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(fusion::advance<N>(i.it),0);
+ return type(fusion::advance<N>(it.it),0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,8 +8,13 @@
 
 #include <boost/fusion/iterator/deref.hpp>
 
+//TODO seq_type -> sequence_type
+
 namespace boost { namespace fusion
 {
+ template<typename It, typename NewCategory>
+ struct iterator_adapter;
+
     struct iterator_adapter_tag;
 
     namespace extension
@@ -20,24 +25,21 @@
         template <>
         struct deref_impl<iterator_adapter_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename detail::remove_reference<Iterator>::type::iterator_type
+ result_of::deref<
+ typename detail::remove_reference<
+ ItRef
+ >::type::iterator_type
>::type
- iterator_type;
-
- typedef typename
- result_of::deref<iterator_type>::type
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return fusion::deref(i.it);
+ return fusion::deref(it.it);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/distance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,24 +20,19 @@
         template <>
         struct distance_impl<iterator_adapter_tag>
         {
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
             struct apply
             {
                 //TODO cschmidt: category assert
-
- typedef typename
- detail::result_of_forward_as<I1
- , typename detail::remove_reference<I1>::type::iterator_type
- >::type
- iterator1_type;
                 typedef typename
- detail::result_of_forward_as<I2
- , typename detail::remove_reference<I2>::type::iterator_type
+ result_of::distance<
+ typename detail::remove_reference<
+ It1Ref
+ >::type::iterator_type
+ , typename detail::remove_reference<
+ It2Ref
+ >::type::iterator_type
>::type
- iterator2_type;
-
- typedef typename
- result_of::distance<iterator1_type,iterator2_type>::type
                 type;
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,15 +20,15 @@
         template <>
         struct equal_to_impl<iterator_adapter_tag>
         {
- template <typename I1, typename I2>
+ template <typename It1Ref, typename It2Ref>
             struct apply
               : result_of::equal_to<
- typename detail::result_of_forward_as<I1
- , typename detail::remove_reference<I1>::type::iterator_type
- >::type
- , typename detail::result_of_forward_as<I2
- , typename detail::remove_reference<I2>::type::iterator_type
- >::type
+ typename detail::remove_reference<
+ It1Ref
+ >::type::iterator_type
+ , typename detail::remove_reference<
+ It2Ref
+ >::type::iterator_type
>
             {
             };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
 
 namespace boost { namespace fusion
 {
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
     struct iterator_adapter;
 
     struct iterator_adapter_tag;
@@ -23,30 +23,26 @@
         template <>
         struct next_impl<iterator_adapter_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
- typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ detail::remove_reference<ItRef>::type
+ it;
 
                 typedef
                     iterator_adapter<
- typename result_of::next<iterator_type>::type
- , typename identity_iterator::category
+ typename result_of::next<
+ typename it::iterator_type
+ >::type
+ , typename it::category
>
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(fusion::next(i.it),0);
+ return type(fusion::next(it.it),0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,7 @@
 
 namespace boost { namespace fusion
 {
- template<typename Iterator, typename NewCategory>
+ template<typename It, typename NewCategory>
     struct iterator_adapter;
 
     struct iterator_adapter_tag;
@@ -23,30 +23,26 @@
         template <>
         struct prior_impl<iterator_adapter_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type
- identity_iterator;
- typedef typename
- detail::result_of_forward_as<
- Iterator
- , typename identity_iterator::iterator_type
- >::type
- iterator_type;
+ detail::remove_reference<ItRef>::type
+ it;
 
                 typedef
                     iterator_adapter<
- typename result_of::prior<iterator_type>::type
- , typename identity_iterator::category
+ typename result_of::prior<
+ typename it::iterator_type
+ >::type
+ , typename it::category
>
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(fusion::prior(i.it),0);
+ return type(fusion::prior(it.it),0);
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/detail/iterator_adapter/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,6 +10,9 @@
 
 namespace boost { namespace fusion
 {
+ template<typename It, typename NewCategory>
+ struct iterator_adapter;
+
     struct iterator_adapter_tag;
 
     namespace extension
@@ -20,12 +23,12 @@
         template <>
         struct value_of_impl<iterator_adapter_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
               : result_of::value_of<
- typename detail::result_of_forward_as<Iterator
- , typename detail::remove_reference<Iterator>::type::iterator_type
- >::type
+ typename detail::remove_reference<
+ ItRef
+ >::type::iterator_type
>
             {
             };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -8,7 +8,6 @@
 #ifndef BOOST_FUSION_SUPPORT_IS_VIEW_HPP
 #define BOOST_FUSION_SUPPORT_IS_VIEW_HPP
 
-#include <boost/fusion/support/detail/is_view.hpp>
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/ref.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/iterator_base.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,22 +10,23 @@
 
 namespace boost { namespace fusion
 {
- struct iterator_root {};
+ struct iterator_root
+ {};
 
- template <typename Iterator>
+ template <typename It>
     struct iterator_base
       : iterator_root
     {
- Iterator const&
- cast() const
+ It&
+ cast()
         {
- return static_cast<Iterator const&>(*this);
+ return static_cast<It&>(*this);
         }
 
- Iterator&
- cast()
+ It const&
+ cast() const
         {
- return static_cast<Iterator&>(*this);
+ return static_cast<It const&>(*this);
         }
     };
 }}

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -19,38 +19,46 @@
     struct pair
     {
         pair()
- : second() {}
+ : second()
+ {}
 
 #ifdef BOOST_NO_RVALUE_REFERENCES
         pair(typename detail::call_param<Second>::type val)
- : second(val) {}
+ : second(val)
+ {}
 #elif defined(BOOST_NO_VARIADIC_TEMPLATES)
         template<typename Arg>
         pair(Arg&& arg)
- : second(std::forward<Arg>(arg)) {}
+ : second(std::forward<Arg>(arg))
+ {}
 #else
         template<typename Arg1,typename... Args>
         pair(Arg1&& arg1, Args&&... args)
- : second(std::forward<Arg1>(arg1),std::forward<Args>(args)...) {}
+ : second(std::forward<Arg1>(arg1),std::forward<Args>(args)...)
+ {}
 #endif
 
         template <typename Second2>
         pair(pair<First, Second2> const& rhs)
- : second(rhs.second) {}
+ : second(rhs.second)
+ {}
 
 #ifndef BOOST_NO_RVALUE_REFERENCES
         //TODO cschmidt: needed?
         template <typename Second2>
         pair(pair<First, Second2> const&& rhs)
- : second(std::forward<const Second2>(rhs.second)) {}
+ : second(std::forward<const Second2>(rhs.second))
+ {}
 
         template <typename Second2>
         pair(pair<First, Second2>& rhs)
- : second(rhs.second) {}
+ : second(rhs.second)
+ {}
 
         template <typename Second2>
         pair(pair<First, Second2>&& rhs)
- : second(std::forward<Second2>(rhs.second)) {}
+ : second(std::forward<Second2>(rhs.second))
+ {}
 #endif
 
         template <typename Second2>
@@ -102,8 +110,7 @@
     make_pair(BOOST_FUSION_R_ELSE_CLREF(Second) val)
     {
         return typename result_of::
- make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type(
- BOOST_FUSION_FORWARD(Second,val));
+ make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type(val);
     }
 
     template <typename OStream, typename First, typename Second>

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -15,19 +15,20 @@
 {
     struct sequence_root {};
 
- template <typename Sequence>
- struct sequence_base : sequence_root
+ template <typename Seq>
+ struct sequence_base
+ : sequence_root
     {
- Sequence const&
+ Seq const&
         derived() const
         {
- return static_cast<Sequence const&>(*this);
+ return static_cast<Seq const&>(*this);
         }
 
- Sequence&
+ Seq&
         derived()
         {
- return static_cast<Sequence&>(*this);
+ return static_cast<Seq&>(*this);
         }
     };
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/variadic_templates/variadic_quote.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,18 +22,22 @@
     template<template<typename...>class Type>struct variadic_quote
     {
     private:
- template<typename ConcreteType,typename/* HasType*/>struct apply_impl
+ template<typename ConcreteType,typename/* HasType*/>
+ struct apply_impl
         {
             typedef ConcreteType type;
         };
- template<typename ConcreteType>struct apply_impl<ConcreteType,mpl::true_>:
+
+ template<typename ConcreteType>
+ struct apply_impl<ConcreteType,mpl::true_>:
             ConcreteType
         {
         };
 
     public:
- template<typename... Argument>struct apply :
- apply_impl<Type<Argument...>,detail::has_type<Type<Argument...> > >
+ template<typename... Argument>
+ struct apply
+ : apply_impl<Type<Argument...>,detail::has_type<Type<Argument...> > >
         {
         };
     };

Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/make_tuple.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,56 +0,0 @@
-/*=============================================================================
- 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_TUPLE_MAKE_TUPLE_HPP
-#define BOOST_FUSION_TUPLE_MAKE_TUPLE_HPP
-#define FUSION_MAKE_TUPLE_10032005_0843
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-#include <boost/fusion/support/detail/as_fusion_element.hpp>
-
-namespace boost { namespace fusion
-{
- inline tuple<>
- make_tuple()
- {
- return tuple<>();
- }
-
-#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
- typename detail::as_fusion_element<BOOST_PP_CAT(T, n)>::type
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/make_tuple.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_AS_FUSION_ELEMENT
-
-}}
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
- make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -1,89 +1,22 @@
-/*=============================================================================
- Copyright (c) 2005 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)
-==============================================================================*/
+// 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)
 
 #ifndef BOOST_FUSION_TUPLE_TUPLE_HPP
 #define BOOST_FUSION_TUPLE_TUPLE_HPP
 
-#include <boost/fusion/tuple/tuple_fwd.hpp>
-#include <boost/fusion/container/vector/vector.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
-#include <boost/fusion/sequence/intrinsic/value_at.hpp>
-#include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/sequence/comparison.hpp>
-#include <boost/fusion/sequence/io.hpp>
-#include <boost/utility/enable_if.hpp>
-#include <boost/type_traits/is_const.hpp>
-#include <boost/config/no_tr1/utility.hpp>
-
-namespace boost { namespace fusion
-{
- template <BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, typename T)>
- struct tuple : vector<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- {
- typedef vector<
- BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>
- base_type;
-
- tuple()
- : base_type() {}
-
- tuple(tuple const& rhs)
- : base_type(rhs) {}
-
- template <typename U1, typename U2>
- tuple(std::pair<U1, U2> const& rhs)
- : base_type(rhs) {}
-
- #include <boost/fusion/tuple/detail/tuple_expand.hpp>
-
- template <typename T>
- tuple& operator=(T const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- tuple& operator=(tuple const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
-
- template <typename U1, typename U2>
- tuple& operator=(std::pair<U1, U2> const& rhs)
- {
- base_type::operator=(rhs);
- return *this;
- }
- };
-
- template <typename Tuple>
- struct tuple_size : result_of::size<Tuple> {};
-
- template <int N, typename Tuple>
- struct tuple_element : result_of::value_at_c<Tuple, N> {};
-
- template <int N, typename Tuple>
- inline typename
- lazy_disable_if<
- is_const<Tuple>
- , result_of::at_c<Tuple, N>
- >::type
- get(Tuple& tup)
- {
- return at_c<N>(tup);
- }
-
- template <int N, typename Tuple>
- inline typename result_of::at_c<Tuple const, N>::type
- get(Tuple const& tup)
- {
- return at_c<N>(tup);
- }
+#include <boost/tr1/tuple.hpp>
+
+namespace boost { namespace fusion {
+
+ using std::tr1::tuple;
+ using std::tr1::make_tuple;
+ using std::tr1::tie;
+ using std::tr1::tuple_size;
+ using std::tr1::tuple_element;
+ using std::tr1::get;
+
 }}
 
 #endif

Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_fwd.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,25 +0,0 @@
-/*=============================================================================
- Copyright (c) 2005 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_TUPLE_TUPLE_FWD_HPP
-#define BOOST_FUSION_TUPLE_TUPLE_FWD_HPP
-
-#include <boost/fusion/container/vector/limits.hpp>
-#include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
-
-namespace boost { namespace fusion
-{
- struct void_;
-
- template <
- BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
- FUSION_MAX_VECTOR_SIZE, typename T, void_)
- >
- struct tuple;
-}}
-
-#endif

Deleted: sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple_tie.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,49 +0,0 @@
-/*=============================================================================
- 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_TUPLE_TUPLE_TIE_HPP
-#define BOOST_FUSION_TUPLE_TUPLE_TIE_HPP
-#define FUSION_TUPLE_TIE_10032005_0846
-
-#include <boost/preprocessor/iterate.hpp>
-#include <boost/preprocessor/cat.hpp>
-#include <boost/preprocessor/repetition/enum_params.hpp>
-#include <boost/preprocessor/repetition/enum_binary_params.hpp>
-#include <boost/fusion/tuple/tuple.hpp>
-
-namespace boost { namespace fusion
-{
-#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)&
-
-#define BOOST_PP_FILENAME_1 <boost/fusion/tuple/tuple_tie.hpp>
-#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE)
-#include BOOST_PP_ITERATE()
-
-#undef BOOST_FUSION_REF
-
-}}
-
-#endif
-#else // defined(BOOST_PP_IS_ITERATING)
-///////////////////////////////////////////////////////////////////////////////
-//
-// Preprocessor vertical repetition code
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#define N BOOST_PP_ITERATION()
-
- template <BOOST_PP_ENUM_PARAMS(N, typename T)>
- inline tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>
- tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _))
- {
- return tuple<BOOST_PP_ENUM(N, BOOST_FUSION_REF, _)>(
- BOOST_PP_ENUM_PARAMS(N, _));
- }
-
-#undef N
-#endif // defined(BOOST_PP_IS_ITERATING)

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -54,10 +54,10 @@
             };
         };
 
- template<typename Sequence>
+ template<typename Seq>
         struct strictest_traversal
           : result_of::fold<
- Sequence
+ Seq
               , fusion::random_access_traversal_tag
               , strictest_traversal_impl
>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,17 +30,11 @@
             struct apply
             {
                 typedef typename detail::remove_reference<SeqRef>::type seq;
- typedef typename
- detail::result_of_forward_as<
- SeqRef
- , typename seq::seq_type
- >::type
- forwarded_seq;
 
                 typedef
                     filter_iterator<
- typename result_of::begin<forwarded_seq>::type
- , typename result_of::end<forwarded_seq>::type
+ typename result_of::begin<typename seq::seq_type>::type
+ , typename result_of::end<typename seq::seq_type>::type
                       , typename seq::pred_type
>
                 type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -29,17 +29,11 @@
             struct apply
             {
                 typedef typename detail::remove_reference<SeqRef>::type seq;
- typedef typename
- detail::result_of_forward_as<
- SeqRef
- , typename seq::seq_type
- >::type
- forwarded_seq;
 
                 typedef
                     filter_iterator<
- typename result_of::end<forwarded_seq>::type
- , typename result_of::end<forwarded_seq>::type
+ typename result_of::end<typename seq::seq_type>::type
+ , typename result_of::end<typename seq::seq_type>::type
                       , typename seq::pred_type
>
                 type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/equal_to_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -21,11 +21,11 @@
         template<>
         struct equal_to_impl<filter_view_iterator_tag>
         {
- template<typename I1Ref, typename I2Ref>
+ template<typename It1Ref, typename It2Ref>
             struct apply
               : result_of::equal_to<
- typename detail::remove_reference<I1Ref>::type::first_type
- , typename detail::remove_reference<I2Ref>::type::first_type
+ typename detail::remove_reference<It1Ref>::type::first_type
+ , typename detail::remove_reference<It2Ref>::type::first_type
>
             {};
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/advance_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -16,7 +16,7 @@
 
     struct reverse_view_iterator_tag;
 
- template <typename Iterator>
+ template <typename It>
     struct reverse_view_iterator;
 
     namespace extension
@@ -30,21 +30,23 @@
             template<typename ItRef, typename Dist>
             struct apply
             {
- typedef typename
- detail::remove_reference<ItRef>::type::first_type
- first_type;
- typedef typename mpl::negate<Dist>::type negative_dist;
- typedef typename
- result_of::advance<first_type, negative_dist>::type
- advanced_type;
+ typedef typename mpl::negate<Dist>::type neg_dist;
 
- typedef reverse_view_iterator<advanced_type> type;
+ typedef
+ reverse_view_iterator<
+ typename result_of::advance<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ , neg_dist
+ >::type
+ >
+ type;
 
                 static type
                 call(ItRef it)
                 {
- return type(
- boost::fusion::advance<negative_dist>(it.first));
+ return type(boost::fusion::advance<neg_dist>(it.first));
                 }
             };
         };

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-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,18 +26,18 @@
         template<>
         struct distance_impl<reverse_view_iterator_tag>
         {
- template<typename First, typename Last>
+ template<typename FirstRef, typename LastRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<First>::type::first_type
- first_type;
- typedef typename
- detail::remove_reference<Last>::type::first_type
- last_type;
-
- typedef typename
- result_of::distance<last_type, first_type>::type
+ result_of::distance<
+ typename detail::remove_reference<
+ FirstRef
+ >::type::first_type
+ , typename detail::remove_reference<
+ LastRef
+ >::type::first_type
+ >::type
                 type;
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -25,13 +25,13 @@
             template <typename ItRef>
             struct apply
             {
- typedef typename
- detail::remove_reference<ItRef>::type::first_type
- first_type;
-
                 typedef
                     reverse_view_iterator<
- typename result_of::prior<first_type>::type
+ typename result_of::prior<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ >::type
>
                 type;
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/detail/prior_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -14,7 +14,7 @@
 {
     struct reverse_view_iterator_tag;
 
- template <typename Iterator>
+ template <typename It>
     struct reverse_view_iterator;
 
     namespace extension
@@ -22,23 +22,23 @@
         template <>
         struct prior_impl<reverse_view_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
- typedef typename
- detail::remove_reference<Iterator>::type::first_type
- first_type;
-
                 typedef
                     reverse_view_iterator<
- typename result_of::next<first_type>::type
+ typename result_of::next<
+ typename detail::remove_reference<
+ ItRef
+ >::type::first_type
+ >::type
>
                 type;
 
                 static type
- call(Iterator i)
+ call(ItRef it)
                 {
- return type(next(i.first));
+ return type(next(it.first));
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/begin_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,13 +23,13 @@
         template <>
         struct begin_impl<single_view_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
- typedef single_view_iterator<Sequence> type;
+ typedef single_view_iterator<SeqRef> type;
 
                 static type
- call(Sequence s)
+ call(SeqRef s)
                 {
                     return type(s,0);
                 }

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/deref_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,17 +23,17 @@
         template <>
         struct deref_impl<single_view_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
- detail::remove_reference<Iterator>::type::value_type
+ detail::remove_reference<ItRef>::type::value_type
                 type;
 
                 static type
- call(Iterator const& i)
+ call(ItRef const& it)
                 {
- return i.view->val;
+ return it.view->val;
                 }
             };
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/end_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,13 +23,13 @@
         template <>
         struct end_impl<single_view_tag>
         {
- template <typename Sequence>
+ template <typename SeqRef>
             struct apply
             {
- typedef single_view_iterator_end<Sequence> type;
+ typedef single_view_iterator_end<SeqRef> type;
 
                 static type
- call(Sequence)
+ call(SeqRef)
                 {
                     return type();
                 }

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/next_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -26,17 +26,19 @@
         template <>
         struct next_impl<single_view_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef
                     single_view_iterator_end<
- typename detail::remove_reference<Iterator>::type::view_type
+ typename detail::remove_reference<
+ ItRef
+ >::type::view_type
>
                 type;
 
                 static type
- call(Iterator)
+ call(ItRef)
                 {
                     return type();
                 }

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/detail/value_of_impl.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -20,12 +20,14 @@
         template <>
         struct value_of_impl<single_view_iterator_tag>
         {
- template <typename Iterator>
+ template <typename ItRef>
             struct apply
             {
                 typedef typename
                     detail::remove_reference<
- typename detail::remove_reference<Iterator>::type::view_type
+ typename detail::remove_reference<
+ ItRef
+ >::type::view_type
>::type::value_type
                 type;
             };

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -13,12 +13,11 @@
 
 namespace boost { namespace fusion {
 
- template<typename IteratorSequence,
- typename Traversal =
- typename detail::strictest_traversal<IteratorSequence>::type
- >
+ template<
+ typename ItSeq
+ , typename Traversal=typename detail::strictest_traversal<ItSeq>::type
+ >
     struct zip_view_iterator;
-
 }}
 
 #endif

Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/Jamfile 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -6,13 +6,13 @@
 # http://www.boost.org/LICENSE_1_0.txt)
 #==============================================================================
 project boost/libs/fusion/doc ;
-import boostbook : boostbook ;
-using quickbook ;
+import boostbook ;
+import quickbook ;
 
 import os ;
 local BOOST_ROOT = [ os.environ BOOST_ROOT ] ;
 
-boostbook quickbook
+boostbook fusion
     :
         fusion.qbk
     :

Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/adapted.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -157,7 +157,7 @@
 
 [heading Synopsis]
     BOOST_FUSION_ADAPT_STRUCT(
- struct_name
+ struct_name,
         (member_type0, member_name0)
         (member_type1, member_name1)
         ...
@@ -190,7 +190,7 @@
 
     // demo::employee is now a Fusion sequence
     BOOST_FUSION_ADAPT_STRUCT(
- demo::employee
+ demo::employee,
         (std::string, name)
         (int, age))
 
@@ -205,7 +205,7 @@
 
 [heading Synopsis]
     BOOST_FUSION_ADAPT_ASSOC_STRUCT(
- struct_name
+ struct_name,
         (member_type0, member_name0, key_type0)
         (member_type1, member_name1, key_type1)
         ...
@@ -247,7 +247,7 @@
     // It is also an associative sequence with
     // keys keys::name and keys::age present.
     BOOST_FUSION_ADAPT_ASSOC_STRUCT(
- demo::employee
+ demo::employee,
         (std::string, name, keys::name)
         (int, age, keys::age))
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/extension.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -464,9 +464,7 @@
 [[`iterator::template advance<It, N>::type`][The type of an iterator advanced `N` elements from `It`][Implemented in terms of `next` and `prior`]]
 [[`iterator::template advance<It, N>::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]]
 [[`iterator::template distance<It1, It2>::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]]
-[[`iterator::template distance<It1, It2>::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]]
 [[`iterator::template equal_to<It1, It2>::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type<It1, It2>::type`]]
-[[`iterator::template equal_to<It1, It2>::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type<It1, It2>::type()`]]
 ]
 
 [heading Header]

Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/functional.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -10,7 +10,9 @@
 Components to call functions and function objects and to make Fusion code
 callable through a function object interface.
 
-/functional.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional.hpp>
 
 [heading Fused and unfused forms]
 
@@ -55,6 +57,8 @@
 Every variant has a corresponding generator function template that returns
 an adapter instance for the given argument.
 
+Constructors can be called applying __boost_func_factory__.
+
 [heading Making Fusion code callable through a function object interface]
 
 Transforming a fused function into its unfused counterpart allows to create
@@ -62,11 +66,12 @@
 object can be implemented instead of (maybe heavily overloaded) function
 templates or function call operators.
 
-The library provides several adapter variants that implement this
-transformation, ranging from strictly typed to fully generic. The latter
-provides a reusable, approximate solution to __the_forwarding_problem__.
-Every generic variant has a corresponding generator function template that
-returns an adapter instance for the given argument.
+The library provides both a strictly typed and a generic variant for this
+transformation. The latter should be used in combination with
+__boost_func_forward__ to attack __the_forwarding_problem__.
+
+Both variants have a corresponding generator function template that returns an
+adapter instance for the given argument.
 
 [/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
 
@@ -257,6 +262,8 @@
 defined (Boost provides this function for [^std::auto_ptr] and
 __boost_shared_ptr_call__).
 
+Constructors can be called applying __boost_func_factory__.
+
 [heading Synopsis]
     template<
         typename Function,
@@ -289,7 +296,9 @@
 [*Semantics]: Invokes `f` with the elements in `s` as arguments and returns
 the result of the call expression.
 
-/functional/invocation/invoke.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/invoke.hpp>
 
 [heading Example]
     __std_plus_doc__<int> add;
@@ -300,6 +309,7 @@
 * __invoke_function_object__
 * __result_of_invoke__
 * __fused__
+* __make_fused__
 
 [endsect]
 
@@ -352,7 +362,9 @@
 
 [*Semantics]: Invokes `f` with the elements in `s` as arguments.
 
-/functional/invocation/invoke_procedure.hpp>
+[heading Header]
+
+ #include <booost/fusion/functional/invocation/invoke_procedure.hpp>
 
 [heading Example]
     __vector__<int,int> v(1,2);
@@ -365,6 +377,7 @@
 * __invoke_function_object__
 * __result_of_invoke_procedure__
 * __fused_procedure__
+* __make_fused_procedure__
 
 [endsect]
 
@@ -377,6 +390,8 @@
 The first template parameter can be specialized explicitly to avoid copying
 and/or to control the const qualification of a function object.
 
+Constructors can be called applying __boost_func_factory__.
+
 [heading Synopsis]
     template<
         typename Function,
@@ -409,7 +424,9 @@
 [*Semantics]: Invokes `f` with the elements in `s` as arguments and returns the
 result of the call expression.
 
-/functional/invocation/invoke_function_object.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/invoke_function_object.hpp>
 
 [heading Example]
     struct sub
@@ -439,6 +456,7 @@
 * __invoke_procedure__
 * __result_of_invoke_function_object__
 * __fused_function_object__
+* __make_fused_function_object__
 
 [endsect]
 
@@ -520,6 +538,23 @@
 
 [endsect] [/ Metafunctions ]
 
+[section Limits]
+
+[heading Header]
+
+ #include <boost/fusion/functional/invocation/limits.hpp>
+
+[heading Macros]
+
+The following macros can be defined to change the maximum arity.
+The default is 6.
+
+* BOOST_FUSION_INVOKE_MAX_ARITY
+* BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY
+* BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY
+
+[endsect]
+
 [endsect] [/ Invocation ]
 
 [/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@@ -551,7 +586,9 @@
 defined (Boost provides this function for [^std::auto_ptr] and
 __boost_shared_ptr_call__).
 
-/functional/adapter/fused.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused.hpp>
 
 [heading Synopsis]
     template <typename Function>
@@ -594,6 +631,7 @@
 * __fused_procedure__
 * __fused_function_object__
 * __invoke__
+* __make_fused__
 * __deduce__
 
 [endsect]
@@ -627,7 +665,9 @@
 such a pointer without returning anything does not make sense, so this case
 is not implemented).
 
-/functional/adapter/fused_procedure.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused_procedure.hpp>
 
 [heading Synopsis]
     template <typename Function>
@@ -683,6 +723,7 @@
 * __fused__
 * __fused_function_object__
 * __invoke_procedure__
+* __make_fused_procedure__
 
 [endsect]
 
@@ -700,7 +741,9 @@
 target function object that is const or, if the target function object
 is held by value, the adapter is const).
 
-/functional/adapter/fused_function_object.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/fused_function_object.hpp>
 
 [heading Synopsis]
     template <class Function>
@@ -773,150 +816,50 @@
 * __fused__
 * __fused_procedure__
 * __invoke_function_object__
+* __make_fused_function_object__
 * __deduce__
 
 [endsect]
 
 
-[section unfused_generic]
+[section unfused]
 
 [heading Description]
 
 An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
 target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target function.
-Non-const __lvalue__ arguments are transported as references to non-const, otherwise
-references to const are used.
-
-[blurb __tip__ Detecting mutable LValues on a per-argument basis is currently a
-compile time expensive operation (see __the_forwarding_problem__ for
-details). Therefore, there are two, lightweight and more restricted variants
-of this class template, __unfused_lvalue_args__ and __unfused_rvalue_args__.]
-
-The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
-the target function object is const - or, in case the target function
-object is held by value, the adapter is const).
-
-/functional/adapter/unfused_generic.hpp>
-
-[heading Synopsis]
- template <class Function>
- class unfused_generic;
-
-[heading Template parameters]
-
-[table
- [[Parameter] [Description] [Default]]
- [[`Function`] [An unary __poly_func_obj__] []]
-]
-
-[heading Model of]
-
-* __poly_func_obj__
-* __def_callable_obj__
-
-[variablelist Notation
- [[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
- [[`f`] [An object convertible to `F`]]
- [[`UG`] [The type `unfused_generic<F>`]]
- [[`ug`] [An instance of `UG`, initialized with `f`]]
- [[`a0`...`aN`] [Arguments to `ug`]]
-]
-
-[heading Expression Semantics]
-
-[table
- [[Expression] [Semantics]]
- [[`UG(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
- [[`UG()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
- [[`ug(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
-]
-
-[heading Example]
- template <typename Function, typename T>
- class fused_bound_1st
- {
- typename traits::deduce<Function>::type fnc_deferred;
- typename traits::deduce<T>::type xxx_bound;
- public:
-
- fused_bound_1st(Function deferred, T bound)
- : fnc_deferred(deferred), xxx_bound(bound)
- { }
-
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : result_of::invoke< Function, typename result_of::push_front<
- typename remove_reference<Seq>::type, T>::type >
- { };
-
- template <class Seq>
- typename result< void(Seq) >::type operator()(Seq const & s) const
- {
- return invoke(fnc_deferred, push_front(s,xxx_bound));
- }
- };
-
- template <typename Function, typename T>
- unfused_generic< fused_bound_1st<Function,T> >
- bind_1st(Function f, T const & x)
- {
- return unfused_generic< fused_bound_1st<Function,T> >(
- fused_bound_1st<Function,T>(f,x) );
- }
-
- int test_func(int a, int b, int c)
- {
- return a+b+c;
- }
-
- void try_it()
- {
- assert(bind_1st(& test_func,3)(-2,-1) == 0);
- assert(bind_1st(std::plus<float>(), 1)(0.5f) == 1.5f);
- }
-
-[heading See also]
-* __unfused_lvalue_args__
-* __unfused_rvalue_args__
-* __unfused_typed__
-* __deduce__
-* __deduce_sequence__
-
-[endsect]
-
-
-[section unfused_lvalue_args]
+__random_access_sequence__ of references that is passed to the target function
+object.
 
-[heading Description]
+The nullary overload of the call operator can be removed by setting the
+second template parameter to `false`, which is very useful if the result type
+computation would result in a compile error, otherwise (nullary call
+operator's prototypes can't be templates and thus are instantiated as early
+as the class template).
 
-An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
-target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target function
-object. Only __lvalue__ arguments are accepted.
+Only __lvalue__ arguments are accepted. To overcome this limitation, apply
+__boost_func_forward__.
 
 The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
+reference. Const qualification is preserved and propagated appropriately.
+In other words, only const versions of [^operator()] can be used if
 the target function object is const - or, in case the target function
-object is held by value, the adapter is const).
+object is held by value, the adapter is const.
 
-/functional/adapter/unfused_lvalue_args.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/unfused.hpp>
 
 [heading Synopsis]
- template <class Function>
- class unfused_lvalue_args;
+ template <class Function, bool AllowNullary = true>
+ class unfused;
 
 [heading Template parameters]
 
 [table
     [[Parameter] [Description] [Default]]
     [[`Function`] [A unary __poly_func_obj__] []]
+ [[`AllowNullary`] [Boolean constant] [true]]
 ]
 
 [heading Model of]
@@ -927,7 +870,7 @@
 [variablelist Notation
     [[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
     [[`f`] [An object convertible to `F`]]
- [[`UL`] [The type `unfused_lvalue_args<F>`]]
+ [[`UL`] [The type `unfused<F>`]]
     [[`ul`] [An instance of `UL`, initialized with `f`]]
     [[`a0`...`aN`] [Arguments to `ul`]]
 ]
@@ -959,97 +902,15 @@
 
     void try_it()
     {
- unfused_lvalue_args<fused_incrementer> increment;
+ unfused<fused_incrementer> increment;
         int a = 2; char b = 'X';
         increment(a,b);
         assert(a == 3 && b == 'Y');
     }
 
 [heading See also]
-* __unfused_rvalue_args__
-* __unfused_generic__
 * __unfused_typed__
-
-[endsect]
-
-[section unfused_rvalue_args]
-
-[heading Description]
-
-An n-ary __poly_func_obj__ adapter template for an unary __poly_func_obj__
-target function. When called, its arguments are bundled to a
-__random_access_sequence__ of references that is passed to the target
-function object. All referenced objects in the sequence are const qualified.
-
-The type of the target function is allowed to be const qualified or a
-reference. Const qualification is preserved and propagated appropriately
-(in other words, only const versions of [^operator()] can be used if
-the target function object is const - or, in case the target function object
-is held by value, the adapter is const).
-
-/functional/adapter/unfused_rvalue_args.hpp>
-
-[heading Synopsis]
- template <class Function>
- class unfused_rvalue_args;
-
-[heading Template parameters]
-
-[table
- [[Parameter] [Description] [Default]]
- [[`Function`] [A unary __poly_func_obj__] []]
-]
-
-[heading Model of]
-
-* __poly_func_obj__
-* __def_callable_obj__
-
-[variablelist Notation
- [[`F`] [A possibly const qualified, unary __poly_func_obj__ type or reference type thereof]]
- [[`f`] [An object convertible to `F`]]
- [[`UR`] [The type `unfused_rvalue_args<F>`]]
- [[`ur`] [An instance of `UR`, initialized with `f`]]
- [[`a0`...`aN`] [Arguments to `ur`]]
-]
-
-[heading Expression Semantics]
-
-[table
- [[Expression] [Semantics]]
- [[`UR(f)`] [Creates a fused function as described above, initializes the target function with `f`.]]
- [[`UR()`] [Creates a fused function as described above, attempts to use `F`'s default constructor.]]
- [[`ur(a0`...`aN)`] [Calls `f` with a __sequence__ that contains references to the arguments `a0`...`aN`.]]
-]
-
-[heading Example]
- struct sequence_printer
- {
- template <class Seq>
- struct result
- {
- typedef void type;
- };
-
- template <class Seq>
- void operator()(Seq const & s) const
- {
- std::cout << s << std::endl;
- }
- };
-
- void try_it()
- {
- unfused_rvalue_args<sequence_printer> print;
- print(24,"bottles of beer in",'a',"box.");
- }
-
-[heading See also]
-* __unfused_lvalue_args__
-* __unfused_generic__
-* __unfused_typed__
-* __deduce__
-* __deduce_sequence__
+* __make_unfused__
 
 [endsect]
 
@@ -1078,7 +939,9 @@
 non-reference elements, the element is copied only once - the call operator's
 signature is optimized automatically to avoid by-value parameters.]
 
-/functional/adapter/unfused_typed.hpp>
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/unfused_typed.hpp>
 
 [heading Synopsis]
     template <class Function, class Sequence>
@@ -1169,7 +1032,7 @@
                 fused_parallel_adder<Seq>(tie) );
         }
     };
- unfused_lvalue_args<fused_parallel_adder_maker> parallel_add;
+ unfused<fused_parallel_adder_maker> parallel_add;
 
     void try_it()
     {
@@ -1183,14 +1046,29 @@
     }
 
 [heading See also]
-* __unfused_generic__
-* __unfused_lvalue_args__
-* __unfused_rvalue_args__
+* __unfused__
 * __deduce__
 * __deduce_sequence__
 
 [endsect]
 
+[section Limits]
+
+[heading Header]
+
+ #include <boost/fusion/functional/adapter/limits.hpp>
+
+[heading Macros]
+
+The following macros can be defined to change the maximum arity.
+The value used for these macros must not exceed `FUSION_MAX_VECTOR_SIZE`.
+The default is 6.
+
+* BOOST_FUSION_UNFUSED_MAX_ARITY
+* BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY
+
+[endsect]
+
 [endsect] [/ Adapters]
 
 [/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ]
@@ -1353,85 +1231,16 @@
 
 [endsect]
 
-[section:mk_unfused_genrc make_unfused_generic]
-
-[heading Description]
-Creates a __unfused_generic__ adapter for a given, unary __poly_func_obj__.
-The usual __element_conversion__ is applied to the target function.
-
-[heading Synopsis]
- template <typename F>
- inline typename __result_of_make_unfused_generic__<F>::type
- make_unfused_generic(F const & f);
-
-[heading Parameters]
-[table
- [[Parameter] [Requirement] [Description]]
- [[`f`] [Model of __poly_func_obj__] [The function to transform.]]
-]
-
-[heading Expression Semantics]
-
- make_unfused_generic(f);
-
-[*Return type]: A specialization of __unfused_generic__.
-
-[*Semantics]: Returns a __unfused_generic__ adapter for `f`.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
- #include <boost/fusion/include/make_unfused_generic.hpp>
-
-[heading Example]
- struct bottles_song
- {
- typedef void result_type;
-
- template<class Seq>
- void operator()(Seq & s) const
- {
- typename result_of::at_c<Seq,0>::type n = at_c<0>(s);
- typename result_of::at_c<Seq,1>::type what = at_c<1>(s);
-
- std::cout
- << n << " bottles of " << what << " on the wall.\n"
- << n << " bottles of " << what << "!\n"
- << "Take one down - pass it around.\n";
-
- n -= 1; // glug glug...
-
- std::cout
- << n << " bottles of " << what << " on the wall.\n"
- << std::endl;
- }
- };
-
- void try_it()
- {
- unsigned n_milk = 99;
- for(int i = 0; i < 3; ++i)
- make_unfused_generic(bottles_song())(n_milk,"milk");
- // 96 bottles left for me
- }
-
-[heading See also]
-* __unfused_generic__
-* __deduce__
-* __result_of_make_unfused_generic__
-
-[endsect]
-
-[section:mk_unfused_lvargs make_unfused_lvalue_args]
+[section:mk_unfused make_unfused]
 
 [heading Description]
-Creates a __unfused_lvalue_args__ adapter for a given, unary __poly_func_obj__.
+Creates a __unfused__ adapter for a given, unary __poly_func_obj__.
 The usual __element_conversion__ is applied to the target function.
 
 [heading Synopsis]
     template <typename F>
- inline typename __result_of_make_unfused_lvalue_args__<F>::type
- make_unfused_lvalue_args(F const & f);
+ inline typename __result_of_make_unfused__<F>::type
+ make_unfused(F const & f);
 
 [heading Parameters]
 [table
@@ -1441,16 +1250,16 @@
 
 [heading Expression Semantics]
 
- make_unfused_lvalue_args(f);
+ make_unfused(f);
 
-[*Return type]: A specialization of __unfused_lvalue_args__.
+[*Return type]: A specialization of __unfused__.
 
-[*Semantics]: Returns a __unfused_lvalue_args__ adapter for `f`.
+[*Semantics]: Returns a __unfused__ adapter for `f`.
 
 [heading Header]
 
- #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_lvalue_args.hpp>
+ #include <boost/fusion/functional/generation/make_unfused.hpp>
+ #include <boost/fusion/include/make_unfused.hpp>
 
 [heading Example]
     struct fused_incrementer
@@ -1471,73 +1280,14 @@
     void try_it()
     {
         int a = 2; char b = 'X';
- make_unfused_lvalue_args(fused_incrementer())(a,b);
+ make_unfused(fused_incrementer())(a,b);
         assert(a == 3 && b == 'Y');
     }
 
 [heading See also]
-* __unfused_lvalue_args__
-* __deduce__
-* __result_of_make_unfused_lvalue_args__
-
-[endsect]
-
-[section:mk_unfused_rvargs make_unfused_rvalue_args]
-
-[heading Description]
-Creates a __unfused_rvalue_args__ adapter for a given, unary __poly_func_obj__.
-The usual __element_conversion__ is applied to the target function.
-
-[heading Synopsis]
- template <typename F>
- inline typename __result_of_make_unfused_rvalue_args__<F>::type
- make_unfused_rvalue_args(F const & f);
-
-[heading Parameters]
-[table
- [[Parameter] [Requirement] [Description]]
- [[`f`] [Model of __poly_func_obj__] [The function to transform.]]
-]
-
-[heading Expression Semantics]
-
- make_unfused_rvalue_args(f);
-
-[*Return type]: A specialization of __unfused_rvalue_args__.
-
-[*Semantics]: Returns a __unfused_rvalue_args__ adapter for `f`.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_rvalue_args.hpp>
-
-[heading Example]
- struct sequence_printer
- {
- template <class Seq>
- struct result
- {
- typedef void type;
- };
-
- template <class Seq>
- void operator()(Seq const & s) const
- {
- std::cout << s << std::endl;
- }
- };
-
- void try_it()
- {
- make_unfused_rvalue_args(sequence_printer())
- (24,"bottles of beer in",'a',"box.");
- }
-
-[heading See also]
-* __unfused_rvalue_args__
+* __unfused__
 * __deduce__
-* __result_of_make_unfused_rvalue_args__
+* __result_of_make_unfused__
 
 [endsect]
 
@@ -1620,78 +1370,28 @@
 
 [endsect]
 
-[section:mk_unfused_genrc make_unfused_generic]
-
-[heading Description]
-Returns the result type of __make_unfused_generic__.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
- #include <boost/fusion/include/make_unfused_generic.hpp>
-
-[heading Synopsis]
- namespace result_of
- {
- template<typename Function>
- struct make_unfused_generic
- {
- typedef __unspecified__ type;
- };
- }
-
-[heading See also]
-* __make_unfused_generic__
-
-[endsect]
-
-[section:mk_unfused_lvargs make_unfused_lvalue_args]
-
-[heading Description]
-Returns the result type of __make_unfused_lvalue_args__.
-
-[heading Header]
-
- #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_lvalue_args.hpp>
-
-[heading Synopsis]
- namespace result_of
- {
- template<typename Function>
- struct make_unfused_lvalue_args
- {
- typedef __unspecified__ type;
- };
- }
-
-[heading See also]
-* __make_unfused_lvalue_args__
-
-[endsect]
-
-[section:mk_unfused_rvargs make_unfused_rvalue_args]
+[section:mk_unfused make_unfused]
 
 [heading Description]
-Returns the result type of __make_unfused_rvalue_args__.
+Returns the result type of __make_unfused__.
 
 [heading Header]
 
- #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
- #include <boost/fusion/include/make_unfused_rvalue_args.hpp>
+ #include <boost/fusion/functional/generation/make_unfused.hpp>
+ #include <boost/fusion/include/make_unfused.hpp>
 
 [heading Synopsis]
     namespace result_of
     {
         template<typename Function>
- struct make_unfused_rvalue_args
+ struct make_unfused
         {
             typedef __unspecified__ type;
         };
     }
 
 [heading See also]
-* __make_unfused_rvalue_args__
+* __make_unfused__
 
 [endsect]
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/doc/tuple.qbk 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -30,7 +30,10 @@
         typename TN = __unspecified__>
     class tuple;
 
-/tuple.hpp>
+[heading Header]
+
+ #include <boost/fusion/tuple/tuple>
+ #include <boost/fusion/include/tuple.hpp>
 
 [section Construction]
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/cookbook/do_the_bind.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -22,23 +22,29 @@
     form.
 ==============================================================================*/
 
+
 #include <boost/fusion/functional/invocation/invoke.hpp>
-#include <boost/fusion/functional/adapter/unfused_generic.hpp>
-#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
+#include <boost/fusion/functional/adapter/unfused.hpp>
 #include <boost/fusion/support/deduce_sequence.hpp>
 
 #include <boost/fusion/sequence/intrinsic/at.hpp>
-#include <boost/fusion/mpl.hpp>
 #include <boost/fusion/sequence/intrinsic/front.hpp>
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/algorithm/transformation/pop_front.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+#include <boost/fusion/view/filter_view.hpp>
+
+#include <boost/functional/forward_adapter.hpp>
+#include <boost/functional/lightweight_forward_adapter.hpp>
 
 #include <boost/type_traits/remove_reference.hpp>
 
 #include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/int.hpp>
+#include <boost/mpl/max.hpp>
+#include <boost/mpl/next.hpp>
 
 #include <boost/ref.hpp>
 #include <iostream>
@@ -105,6 +111,7 @@
     // returned by bind
     template <class BindArgs> class fused_bound_function
     {
+ // Transform arguments to be held by value
         typedef typename traits::deduce_sequence<BindArgs>::type bound_args;
 
         bound_args fsq_bind_args;
@@ -144,19 +151,40 @@
 
     };
 
+ // Find the number of placeholders in use
+ struct n_placeholders
+ {
+ struct fold_op
+ {
+ template <typename Sig> struct result;
+ template <class S, class A, class B> struct result< S(A &,B &) >
+ : mpl::max<A,B> { };
+ };
+ struct filter_pred
+ {
+ template <class X> struct apply : is_placeholder<X> { };
+ };
+
+ template <typename Seq>
+ struct apply
+ : mpl::next< typename result_of::fold<
+ fusion::filter_view<Seq,filter_pred>, mpl::int_<-1>, fold_op
+ >::type>::type
+ { };
+ };
+
     // Fused implementation of the 'bind' function
     struct fused_binder
     {
         template <class Signature>
         struct result;
 
- template <class BindArgs>
+ template <class BindArgs,
+ int Placeholders = n_placeholders::apply<BindArgs>::value>
         struct result_impl
         {
- // We have to transform the arguments so they are held by-value
- // in the returned function.
- typedef fusion::unfused_generic<
- fused_bound_function<BindArgs> > type;
+ typedef boost::forward_adapter<fusion::unfused<
+ fused_bound_function<BindArgs>,!Placeholders>,Placeholders> type;
         };
 
         template <class Self, class BindArgs>
@@ -168,14 +196,16 @@
         inline typename result_impl< BindArgs >::type
         operator()(BindArgs & bind_args) const
         {
- return typename result< void(BindArgs) >::type(bind_args);
+ return typename result< void(BindArgs) >::type(
+ fusion::unfused< fused_bound_function<BindArgs>,
+ ! n_placeholders::apply<BindArgs>::value >(bind_args) );
         }
     };
 
- // The binder's unfused type. We use unfused_rvalue_args to make that
- // thing more similar to Boost.Bind. Because of that we have to use
+ // The binder's unfused type. We use lightweght_forward_adapter to make
+ // that thing more similar to Boost.Bind. Because of that we have to use
     // Boost.Ref (below in the sample code)
- typedef fusion::unfused_rvalue_args<fused_binder> binder;
+ typedef boost::lightweight_forward_adapter< fusion::unfused<fused_binder> > binder;
 }
 
 // Placeholder globals
@@ -225,10 +255,11 @@
     using boost::ref;
 
     int errors = 0;
+
     errors += !( bind(f)() == 0);
     errors += !( bind(f,"Hi")() == 1);
     errors += !( bind(f,_1_)("there.") == 1);
- errors += !( bind(f,"The answer is",_1_)(value) == 2);
+ errors += !( bind(f,"The answer is",_1_)(12) == 2);
     errors += !( bind(f,_1_,ref(value))("Really?") == 2);
     errors += !( bind(f,_1_,_2_)("Dunno. If there is an answer, it's",value) == 2);
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/Jamfile 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -14,40 +14,44 @@
     [ run algorithm/all.cpp : : : : ]
     [ run algorithm/any.cpp : : : : ]
     [ run algorithm/clear.cpp : : : : ]
- [ run algorithm/count.cpp : : : : ]
     [ run algorithm/count_if.cpp : : : : ]
- [ run algorithm/erase.cpp : : : : ]
+ [ run algorithm/count.cpp : : : : ]
     [ run algorithm/erase_key.cpp : : : : ]
- [ run algorithm/filter.cpp : : : : ]
+ [ run algorithm/erase.cpp : : : : ]
     [ run algorithm/filter_if.cpp : : : : ]
- [ run algorithm/find.cpp : : : : ]
+ [ run algorithm/filter.cpp : : : : ]
     [ run algorithm/find_if.cpp : : : : ]
+ [ run algorithm/find.cpp : : : : ]
     [ run algorithm/fold.cpp : : : : ]
     [ run algorithm/for_each.cpp : : : : ]
     [ run algorithm/insert_range.cpp : : : : ]
     [ run algorithm/insert.cpp : : : : ]
+# [ run algorithm/join.cpp : : : : ]
     [ run algorithm/none.cpp : : : : ]
     [ run algorithm/pop_back.cpp : : : : ]
     [ run algorithm/pop_front.cpp : : : : ]
     [ run algorithm/push_back.cpp : : : : ]
     [ run algorithm/push_front.cpp : : : : ]
- [ run algorithm/remove.cpp : : : : ]
     [ run algorithm/remove_if.cpp : : : : ]
- [ run algorithm/replace.cpp : : : : ]
+ [ run algorithm/remove.cpp : : : : ]
     [ run algorithm/replace_if.cpp : : : : ]
+ [ run algorithm/replace.cpp : : : : ]
     [ run algorithm/reverse.cpp : : : : ]
     [ run algorithm/transform.cpp : : : : ]
-# [ run algorithm/join.cpp : : : : ]
+# [ run algorithm/zip_ignore.cpp : : : : ]
 # [ run algorithm/zip.cpp : : : : ]
 # [ run algorithm/zip2.cpp : : : : ]
-# [ run algorithm/zip_ignore.cpp : : : : ]
 
+# [ run sequence/adapt_struct.cpp : : : : ]
+# [ run sequence/adapt_assoc_struct.cpp : : : : ]
+# [ run sequence/array : : : : ]
     [ run sequence/as_list.cpp : : : : ]
     [ run sequence/as_map.cpp : : : : ]
     [ run sequence/as_set.cpp : : : : ]
     [ run sequence/as_vector.cpp : : : : ]
-# [ run sequence/boost_tuple.cpp : : : : ]
+# [ run sequence/boost_tuple.cpp : : : : ]
     [ run sequence/cons.cpp : : : : ]
+# [ run sequence/deduce_sequence.cpp : : : : ]
     [ run sequence/filter_view.cpp : : : : ]
     [ run sequence/io.cpp : : : : ]
     [ run sequence/iterator_range.cpp : : : : ]
@@ -60,13 +64,15 @@
     [ run sequence/list_misc.cpp : : : : ]
     [ run sequence/list_mutate.cpp : : : : ]
     [ run sequence/list_tie.cpp : : : : ]
- [ run sequence/map.cpp : : : : ]
     [ run sequence/map_tie.cpp : : : : ]
+ [ run sequence/map.cpp : : : : ]
     [ run sequence/reverse_view.cpp : : : : ]
     [ run sequence/set.cpp : : : : ]
     [ run sequence/single_view.cpp : : : : ]
 # [ run sequence/std_pair.cpp : : : : ]
-# [ run sequence/array.cpp : : : : ]
+ [ run sequence/swap.cpp : : : : ]
+# [ run sequence/tr1_tuple_auto_conv.cpp : : : : ]
+ [ run sequence/transform_view.cpp : : : : ]
 # [ run sequence/tuple_comparison.cpp : : : : ]
 # [ run sequence/tuple_construction.cpp : : : : ]
 # [ run sequence/tuple_copy.cpp : : : : ]
@@ -75,8 +81,6 @@
 # [ run sequence/tuple_misc.cpp : : : : ]
 # [ run sequence/tuple_mutate.cpp : : : : ]
 # [ run sequence/tuple_tie.cpp : : : : ]
-# [ run sequence/tr1_tuple_auto_conv.cpp : : : : ]
- [ run sequence/transform_view.cpp : : : : ]
     [ run sequence/vector_comparison.cpp : : : : ]
     [ run sequence/vector_construction.cpp : : : : ]
     [ run sequence/vector_copy.cpp : : : : ]
@@ -87,30 +91,22 @@
     [ run sequence/vector_n.cpp : : : : ]
     [ run sequence/vector_tie.cpp : : : : ]
     [ run sequence/vector_value_at.cpp : : : : ]
+ [ run sequence/zip_view_ignore.cpp : : : : ]
     [ run sequence/zip_view.cpp : : : : ]
     [ run sequence/zip_view2.cpp : : : : ]
- [ run sequence/zip_view_ignore.cpp : : : : ]
-# [ run sequence/deduce_sequence.cpp : : : : ]
-# [ run sequence/adapt_struct.cpp : : : : ]
-# [ run sequence/adapt_assoc_struct.cpp : : : : ]
 
-# [ run functional/fused.cpp : : : : ]
 # [ run functional/fused_function_object.cpp : : : : ]
 # [ run functional/fused_procedure.cpp : : : : ]
-# [ run functional/unfused_generic.cpp : : : : ]
-# [ run functional/unfused_lvalue_args.cpp : : : : ]
-# [ run functional/unfused_rvalue_args.cpp : : : : ]
-# [ run functional/unfused_typed.cpp : : : : ]
-# [ run functional/make_fused.cpp : : : : ]
-# [ run functional/make_fused_function_object.cpp : : : : ]
-# [ run functional/make_fused_procedure.cpp : : : : ]
-# [ run functional/make_unfused_generic.cpp : : : : ]
-# [ run functional/make_unfused_lvalue_args.cpp : : : : ]
-# [ run functional/make_unfused_rvalue_args.cpp : : : : ]
-# [ run functional/invoke.cpp : : : : ]
+# [ run functional/fused.cpp : : : : ]
 # [ run functional/invoke_function_object.cpp : : : : ]
 # [ run functional/invoke_procedure.cpp : : : : ]
-# [ run sequence/swap.cpp : : : : ]
+# [ run functional/invoke.cpp : : : : ]
+# [ run functional/make_fused_function_object.cpp : : : : ]
+# [ run functional/make_fused_procedure.cpp : : : : ]
+# [ run functional/make_fused.cpp : : : : ]
+# [ run functional/make_unfused.cpp : : : : ]
+# [ run functional/unfused_typed.cpp : : : : ]
+# [ run functional/unfused.cpp : : : : ]
 
 # [ compile-fail xxx.cpp : : : : ]
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/invoke.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -340,7 +340,7 @@
     using boost::is_same;
 
     BOOST_TEST(( is_same<
- fusion::result_of::invoke<int (*)(), fusion::vector0 >::type, int
+ fusion::result_of::invoke<int (*)(), fusion::vector0<> >::type, int
>::value ));
 // disabled until boost::result_of supports it
 // BOOST_TEST(( is_same<

Added: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -0,0 +1,126 @@
+/*=============================================================================
+ Copyright (c) 2006-2007 Tobias Schwinger
+
+ Use modification and distribution are subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+==============================================================================*/
+
+#include <boost/fusion/functional/generation/make_unfused.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/noncopyable.hpp>
+#include <boost/blank.hpp>
+
+#include <boost/mpl/if.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/identity.hpp>
+
+#include <boost/utility/result_of.hpp>
+
+#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+
+#include <boost/ref.hpp>
+
+namespace fusion = boost::fusion;
+namespace mpl = boost::mpl;
+
+using boost::noncopyable;
+typedef mpl::true_ no_nullary_call;
+
+using boost::ref;
+using boost::cref;
+
+template <class Base = boost::blank, class RemoveNullary = mpl::false_>
+struct test_func
+ : Base
+{
+ template <typename Sig>
+ struct result;
+
+ template <class Self, class Seq>
+ struct result< Self(Seq &) >
+ : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
+ boost::blank, mpl::identity<long> >::type
+ { };
+
+ template <typename Seq>
+ long operator()(Seq const & seq) const
+ {
+ long state = 0;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ template < typename Seq >
+ long operator()(Seq const & seq)
+ {
+ long state = 100;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ private:
+
+ struct fold_op
+ {
+ typedef long result_type;
+
+ template <typename T>
+ long operator()(T & elem, long value) const
+ {
+ elem += sizeof(T);
+ return value + elem;
+ }
+ };
+};
+
+template <typename T>
+inline T const & const_(T const & t)
+{
+ return t;
+}
+
+int main()
+{
+ test_func<> f;
+ test_func<noncopyable> f_nc;
+
+ fusion::result_of::make_unfused< test_func<> >::type unfused_func =
+ fusion::make_unfused(f);
+
+ fusion::result_of::make_unfused< boost::reference_wrapper<
+ test_func<noncopyable> > >::type unfused_func_ref =
+ fusion::make_unfused(ref(f_nc));
+
+ fusion::result_of::make_unfused< boost::reference_wrapper<
+ test_func<noncopyable> const> >::type unfused_func_c_ref =
+ fusion::make_unfused(cref(f_nc));
+
+ BOOST_TEST(unfused_func() == 100);
+ BOOST_TEST(const_(unfused_func)() == 0);
+ BOOST_TEST(unfused_func_ref() == 100);
+ BOOST_TEST(unfused_func_c_ref() == 0);
+
+ long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
+ long expected;
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(const_(unfused_func)(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
+
+ return boost::report_errors();
+}
+

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_generic.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,124 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_generic.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_generic< test_func<> >::type unfused_func =
- fusion::make_unfused_generic(f);
-
- fusion::result_of::make_unfused_generic< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_generic(ref(f_nc));
-
- fusion::result_of::make_unfused_generic< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_generic(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lvalue = 12;
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 2*sizeof(long));
- BOOST_TEST(const_(unfused_func)(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 4*sizeof(long));
- BOOST_TEST(unfused_func_ref(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 6*sizeof(long));
- BOOST_TEST(unfused_func_c_ref(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 8*sizeof(long));
-
- return boost::report_errors();
-}
-

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_lvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value + elem;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_lvalue_args< test_func<> >::type unfused_func =
- fusion::make_unfused_lvalue_args(f);
-
- fusion::result_of::make_unfused_lvalue_args< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_lvalue_args(ref(f_nc));
-
- fusion::result_of::make_unfused_lvalue_args< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_lvalue_args(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
- long expected;
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(const_(unfused_func)(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
-
- return boost::report_errors();
-}
-

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/make_unfused_rvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,110 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/if.hpp>
-#include <boost/mpl/and.hpp>
-#include <boost/mpl/bool.hpp>
-#include <boost/mpl/identity.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-#include <boost/ref.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-using boost::ref;
-using boost::cref;
-
-template <class Base = boost::blank, class RemoveNullary = mpl::false_>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq &) >
- : mpl::if_< mpl::and_< fusion::result_of::empty<Seq>, RemoveNullary >,
- boost::blank, mpl::identity<long> >::type
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
- };
-};
-
-template <typename T>
-inline T const & const_(T const & t)
-{
- return t;
-}
-
-int main()
-{
- test_func<> f;
- test_func<noncopyable> f_nc;
-
- fusion::result_of::make_unfused_rvalue_args< test_func<> >::type unfused_func =
- fusion::make_unfused_rvalue_args(f);
-
- fusion::result_of::make_unfused_rvalue_args< boost::reference_wrapper<
- test_func<noncopyable> > >::type unfused_func_ref =
- fusion::make_unfused_rvalue_args(ref(f_nc));
-
- fusion::result_of::make_unfused_rvalue_args< boost::reference_wrapper<
- test_func<noncopyable> const> >::type unfused_func_c_ref =
- fusion::make_unfused_rvalue_args(cref(f_nc));
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(const_(unfused_func)() == 0);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(1,2l,'\007') == 100 + expected);
- BOOST_TEST(const_(unfused_func)(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_ref(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_c_ref(1,2l,'\007') == 0 + expected);
-
- return boost::report_errors();
-}
-

Added: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -0,0 +1,119 @@
+/*=============================================================================
+ Copyright (c) 2006-2007 Tobias Schwinger
+
+ Use modification and distribution are subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt).
+==============================================================================*/
+
+#include <boost/fusion/functional/adapter/unfused.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+#include <boost/noncopyable.hpp>
+#include <boost/blank.hpp>
+
+#include <boost/mpl/identity.hpp>
+
+#include <boost/utility/result_of.hpp>
+
+#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/algorithm/iteration/fold.hpp>
+
+namespace fusion = boost::fusion;
+namespace mpl = boost::mpl;
+
+using boost::noncopyable;
+
+template <class Base = boost::blank>
+struct test_func
+ : Base
+{
+ template <typename Sig>
+ struct result;
+
+ template <class Self, class Seq>
+ struct result< Self(Seq) >
+ : mpl::identity<long>
+ { };
+
+ template <typename Seq>
+ long operator()(Seq const & seq) const
+ {
+ long state = 0;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ template <typename Seq>
+ long operator()(Seq const & seq)
+ {
+ long state = 100;
+ return fusion::fold(seq, state, fold_op());
+ }
+
+ private:
+
+ struct fold_op
+ {
+ typedef long result_type;
+
+ template <typename T>
+ long operator()(T & elem, long value) const
+ {
+ elem += sizeof(T);
+ return value + elem;
+ }
+ };
+};
+
+void result_type_tests()
+{
+ using boost::is_same;
+
+ typedef fusion::unfused< test_func<> > t;
+ BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
+ BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
+}
+
+int main()
+{
+ result_type_tests();
+
+ test_func<noncopyable> f;
+ fusion::unfused< test_func<> > unfused_func;
+ fusion::unfused< test_func<noncopyable> & > unfused_func_ref(f);
+ fusion::unfused< test_func<> const > unfused_func_c;
+ fusion::unfused< test_func<> > const unfused_func_c2;
+ fusion::unfused< test_func<noncopyable> const & > unfused_func_c_ref(f);
+
+ BOOST_TEST(unfused_func() == 100);
+ BOOST_TEST(unfused_func_ref() == 100);
+ BOOST_TEST(unfused_func_c() == 0);
+ BOOST_TEST(unfused_func_c2() == 0);
+ BOOST_TEST(unfused_func_c_ref() == 0);
+
+ long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
+ long expected;
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
+ BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c2(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
+
+ expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
+ BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
+ BOOST_TEST(lv1 == 2+5*sizeof(lv1) && lv2 == 3+5*sizeof(lv2) && lv3 == 7+5*sizeof(lv3));
+
+ return boost::report_errors();
+}
+

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_generic.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,126 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_generic.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/type_traits/is_same.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self (Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template <typename Seq>
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value;
- }
-
- template <typename Sig>
- struct result;
-
- template <class Self, typename T0, typename T1> struct result< Self(T0,T1) >
- : mpl::identity<long>
- { };
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_generic< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_generic< test_func<> > unfused_func;
- fusion::unfused_generic< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_generic< test_func<> const > unfused_func_c;
- fusion::unfused_generic< test_func<> > const unfused_func_c2;
- fusion::unfused_generic< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lvalue = 12;
- // also test const lvalues to pick up compiler deficiencies in that area
- int const clvalue_1 = 1;
- long const clvalue_2 = 2;
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(lvalue,lvalue,clvalue_1,clvalue_2,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 2*sizeof(long));
- BOOST_TEST(unfused_func_ref(lvalue,lvalue,1,2l,'\007') == 100 + expected);
- BOOST_TEST(lvalue == 12 + 4*sizeof(long));
- BOOST_TEST(unfused_func_c(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 6*sizeof(long));
- BOOST_TEST(unfused_func_c2(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 8*sizeof(long));
- BOOST_TEST(unfused_func_c_ref(lvalue,lvalue,1,2l,'\007') == 0 + expected);
- BOOST_TEST(lvalue == 12 + 10*sizeof(long));
-
- return boost::report_errors();
-}
-

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_lvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,119 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/sequence/intrinsic/empty.hpp>
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template <typename Seq>
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T & elem, long value) const
- {
- elem += sizeof(T);
- return value + elem;
- }
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_lvalue_args< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_lvalue_args< test_func<> > unfused_func;
- fusion::unfused_lvalue_args< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_lvalue_args< test_func<> const > unfused_func_c;
- fusion::unfused_lvalue_args< test_func<> > const unfused_func_c2;
- fusion::unfused_lvalue_args< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- long lv1 = 2; int lv2 = 3l; char lv3 = '\007';
- long expected;
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+1*sizeof(lv1) && lv2 == 3+1*sizeof(lv2) && lv3 == 7+1*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_ref(lv1,lv2,lv3) == 100 + expected);
- BOOST_TEST(lv1 == 2+2*sizeof(lv1) && lv2 == 3+2*sizeof(lv2) && lv3 == 7+2*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+3*sizeof(lv1) && lv2 == 3+3*sizeof(lv2) && lv3 == 7+3*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c2(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+4*sizeof(lv1) && lv2 == 3+4*sizeof(lv2) && lv3 == 7+4*sizeof(lv3));
-
- expected = lv1+sizeof(lv1) + lv2+sizeof(lv2) + lv3+sizeof(lv3);
- BOOST_TEST(unfused_func_c_ref(lv1,lv2,lv3) == 0 + expected);
- BOOST_TEST(lv1 == 2+5*sizeof(lv1) && lv2 == 3+5*sizeof(lv2) && lv3 == 7+5*sizeof(lv3));
-
- return boost::report_errors();
-}
-

Deleted: sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/test/functional/unfused_rvalue_args.cpp 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
+++ (empty file)
@@ -1,102 +0,0 @@
-/*=============================================================================
- Copyright (c) 2006-2007 Tobias Schwinger
-
- Use modification and distribution are subject to the Boost Software
- License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- http://www.boost.org/LICENSE_1_0.txt).
-==============================================================================*/
-
-#include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/noncopyable.hpp>
-#include <boost/blank.hpp>
-
-#include <boost/mpl/identity.hpp>
-
-#include <boost/utility/result_of.hpp>
-
-#include <boost/fusion/algorithm/iteration/fold.hpp>
-
-namespace fusion = boost::fusion;
-namespace mpl = boost::mpl;
-
-using boost::noncopyable;
-typedef mpl::true_ no_nullary_call;
-
-template <class Base = boost::blank>
-struct test_func
- : Base
-{
- template <typename Sig>
- struct result;
-
- template <class Self, class Seq>
- struct result< Self(Seq) >
- : mpl::identity<long>
- { };
-
- template <typename Seq>
- long operator()(Seq const & seq) const
- {
- long state = 0;
- return fusion::fold(seq, state, fold_op());
- }
-
- template < typename Seq >
- long operator()(Seq const & seq)
- {
- long state = 100;
- return fusion::fold(seq, state, fold_op());
- }
-
- private:
-
- struct fold_op
- {
- typedef long result_type;
-
- template <typename T>
- long operator()(T const & elem, long value) const
- {
- return value + sizeof(T) * elem;
- }
- };
-};
-
-void result_type_tests()
-{
- using boost::is_same;
-
- typedef fusion::unfused_rvalue_args< test_func<> > t;
- BOOST_TEST(( is_same< boost::result_of< t () >::type, long >::value ));
- BOOST_TEST(( is_same< boost::result_of< t (int) >::type, long >::value ));
-}
-
-int main()
-{
- result_type_tests();
-
- test_func<noncopyable> f;
- fusion::unfused_rvalue_args< test_func<> > unfused_func;
- fusion::unfused_rvalue_args< test_func<noncopyable> & > unfused_func_ref(f);
- fusion::unfused_rvalue_args< test_func<> const > unfused_func_c;
- fusion::unfused_rvalue_args< test_func<> > const unfused_func_c2;
- fusion::unfused_rvalue_args< test_func<noncopyable> const & > unfused_func_c_ref(f);
-
- BOOST_TEST(unfused_func() == 100);
- BOOST_TEST(unfused_func_ref() == 100);
- BOOST_TEST(unfused_func_c() == 0);
- BOOST_TEST(unfused_func_c2() == 0);
- BOOST_TEST(unfused_func_c_ref() == 0);
-
- static const long expected = 1*sizeof(int) + 2*sizeof(long) + 7*sizeof(char);
- BOOST_TEST(unfused_func(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_ref(1,2l,'\007') == 100 + expected);
- BOOST_TEST(unfused_func_c(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_c2(1,2l,'\007') == 0 + expected);
- BOOST_TEST(unfused_func_c_ref(1,2l,'\007') == 0 + expected);
-
- return boost::report_errors();
-}
-

Modified: sandbox/SOC/2009/fusion/project-root.jam
==============================================================================
--- sandbox/SOC/2009/fusion/project-root.jam (original)
+++ sandbox/SOC/2009/fusion/project-root.jam 2009-07-05 11:42:15 EDT (Sun, 05 Jul 2009)
@@ -23,7 +23,7 @@
 #build-project workaround/conceptgcc/test/mini-fusion ;
 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/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