Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74385 - in sandbox/SOC/2009/fusion: boost/fusion/algorithm/iteration boost/fusion/algorithm/iteration/detail boost/fusion/algorithm/iteration/ext_ boost/fusion/algorithm/query boost/fusion/algorithm/query/detail boost/fusion/algorithm/query/ext_ boost/fusion/algorithm/transformation boost/fusion/algorithm/transformation/detail/pp boost/fusion/algorithm/transformation/detail/variadic_templates boost/fusion/container/detail boost/fusion/container/ext_ boost/fusion/container/generation boost/fusion/container/generation/detail/pp boost/fusion/container/generation/detail/variadic_templates boost/fusion/container/list boost/fusion/container/vector/detail/pp boost/fusion/functional/generation/detail boost/fusion/functional/invocation/detail boost/fusion/iterator boost/fusion/mpl/detail boost/fusion/sequence boost/fusion/sequence/intrinsic boost/fusion/sequence/intrinsic/ext_ boost/fusion/sequence/io boost/fusion/sequence/io/detail boost/fusion/support boost/fusion/support/ext_ boost/fusion/support/internal boost/fusion/tuple boost/fusion/view/ext_ boost/fusion/view/repetitive_view boost/fusion/view/single_view libs/fusion
From: mr.chr.schmidt_at_[hidden]
Date: 2011-09-15 11:29:33


Author: cschmidt
Date: 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
New Revision: 74385
URL: http://svn.boost.org/trac/boost/changeset/74385

Log:
Fusion: updates
Removed:
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/ext_/
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/ext_/
   sandbox/SOC/2009/fusion/boost/fusion/container/ext_/
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/ext_/
   sandbox/SOC/2009/fusion/boost/fusion/support/ext_/
   sandbox/SOC/2009/fusion/boost/fusion/view/ext_/
   sandbox/SOC/2009/fusion/libs/fusion/CMakeLists.txt
   sandbox/SOC/2009/fusion/libs/fusion/todo.txt
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp | 7 +--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/fold.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/detail/for_each.hpp | 12 +++++-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp | 36 +++++++++---------
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp | 13 +++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp | 15 +++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp | 15 +++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp | 20 ++++++++++
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp | 28 +++++++++-----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp | 29 ++++++---------
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp | 9 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp | 11 ++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip_n.hpp | 11 ++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp | 17 ++++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 15 +++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 74 ++++++++++++++++++++--------------------
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp | 35 +++++++++---------
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp | 12 +++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp | 12 +++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp | 15 +++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp | 13 +++---
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp | 39 +++++++++-----------
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp | 9 ++--
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp | 26 ++++++-------
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map_n.hpp | 4 -
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq_n.hpp | 4 -
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp | 4 -
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp | 5 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp | 8 ++-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp | 5 +-
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp | 13 +++---
   sandbox/SOC/2009/fusion/boost/fusion/container/list/cons.hpp | 10 ++--
   sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp | 10 ++++
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp | 15 ++++---
   sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser_n.hpp | 28 ++++++++-------
   sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp | 5 +-
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp | 9 ++--
   sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp | 16 ++++----
   sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp | 6 +-
   sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp | 21 +++++-----
   sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/begin.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/end.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp | 5 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp | 11 ++---
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 9 +---
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp | 7 +--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp | 17 +++++++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/end.hpp | 17 +++++++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp | 5 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp | 23 ++++++++++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/in.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/manip.hpp | 48 ++++++++++++------------
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/detail/out.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp | 11 ++---
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp | 15 +++----
   sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp | 24 +++++++-----
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/base.hpp | 8 ++-
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp | 26 +++++++-------
   sandbox/SOC/2009/fusion/boost/fusion/support/pair.hpp | 24 +++++-------
   sandbox/SOC/2009/fusion/boost/fusion/tuple/tuple.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp | 11 ++---
   sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp | 10 ++--
   80 files changed, 533 insertions(+), 493 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -26,7 +26,7 @@
     }
 
     template<typename Seq, typename State, typename F>
- inline typename result_of::accumulate<
+ typename result_of::accumulate<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , BOOST_FUSION_R_ELSE_CLREF(State)
       , BOOST_FUSION_RREF_ELSE_OBJ(F)
@@ -43,8 +43,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename State, typename F>
- inline typename
- result_of::accumulate<Seq&, State const&, F>::type
+ typename result_of::accumulate<Seq&, State const&, F>::type
     accumulate(Seq& seq,State const& state,F f)
     {
         return fusion::fold(seq,state,f);

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -401,7 +401,7 @@
     }
 
     template<typename Seq, typename State, typename F>
- inline typename result_of::BOOST_FUSION_FOLD_NAME<
+ typename result_of::BOOST_FUSION_FOLD_NAME<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , BOOST_FUSION_R_ELSE_CLREF(State)
       , BOOST_FUSION_RREF_ELSE_OBJ(F)
@@ -423,7 +423,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename State, typename F>
- inline typename result_of::BOOST_FUSION_FOLD_NAME<
+ typename result_of::BOOST_FUSION_FOLD_NAME<
         Seq&
       , State const&
       , F

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,6 +23,7 @@
 #include <boost/preprocessor/tuple/eat.hpp>
 #include <boost/preprocessor/repetition/repeat.hpp>
 #include <boost/preprocessor/repetition/repeat_from_to.hpp>
+#include <boost/mpl/bool.hpp>
 
 namespace boost { namespace fusion { namespace detail
 {
@@ -94,7 +95,14 @@
 #undef BOOST_FUSION_UNROLLED_FOR_EACH_IMPL
 #undef BOOST_FUSION_UNROLLED_FOR_EACH_IMPL_NEXT
 #undef BOOST_FUSION_UNROLLED_FOR_EACH_IMPL_N
-}}}
 
+ template<typename SeqRef, typename F>
+ void
+ for_each(SeqRef seq, BOOST_FUSION_RREF_ELSE_OBJ(F), mpl::false_)
+ {
+ for_each_unrolled<result_of::size<SeqRef>::type::value>(
+ fusion::begin(BOOST_FUSION_FORWARD(SeqRef, seq)));
+ }
+}}}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2007 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,8 +11,9 @@
 #define BOOST_FUSION_ALGORITHM_ITERATION_FOR_EACH_HPP
 
 #include <boost/fusion/support/internal/base.hpp>
-#include <boost/fusion/sequence/intrinsic/size.hpp>
+#include <boost/fusion/support/is_segmented.hpp>
 #include <boost/fusion/algorithm/iteration/detail/for_each.hpp>
+#include <boost/fusion/algorithm/iteration/detail/for_each_segmented.hpp>
 
 namespace boost { namespace fusion
 {
@@ -22,36 +23,35 @@
         struct for_each
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_forward<Seq>,traits::is_segmented<Seq> >))
 
             typedef void type;
         };
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::for_each<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ void
     for_each(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
- BOOST_FUSION_RREF_ELSE_OBJ(F) f)
+ BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
- detail::for_each_unrolled<
- result_of::size<BOOST_FUSION_R_ELSE_CLREF(Seq)>::value
- >::call(
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),
- BOOST_FUSION_FORWARD(F,f));
+ detail::for_each<BOOST_FUSION_R_ELSE_CLREF(Seq)>(
+ BOOST_FUSION_FORWARD(Seq,seq),
+ BOOST_FUSION_FORWARD(F,f),
+ typename traits::is_segmented<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ >::type());
     }
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F>
- inline typename result_of::for_each<Seq&,F>::type
+ void
     for_each(Seq& seq,F f)
     {
- detail::for_each_unrolled<
- result_of::size<Seq>::value
- >::call(fusion::begin(seq),f);
+ detail::for_each<Seq&>(
+ seq,
+ f,
+ typename traits::is_segmented<Seq&>::type());
     }
 #endif
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -31,11 +31,10 @@
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::all<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ typename result_of::all<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ >::type
     all(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
         return detail::unrolled_all<
@@ -46,7 +45,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F>
- inline typename result_of::all<Seq&, F>::type
+ typename result_of::all<Seq&, F>::type
     all(Seq& seq, F f)
     {
         return detail::unrolled_all<

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -2,7 +2,7 @@
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
     Copyright (c) 2007 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -28,7 +28,7 @@
             {}
 
             template<typename E>
- inline bool
+ bool
             operator()(BOOST_FUSION_R_ELSE_CLREF(E) e)
             {
                 return !f(BOOST_FUSION_FORWARD(E,e));
@@ -55,11 +55,10 @@
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::any<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ typename result_of::any<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ >::type
     any(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
         return !fusion::all(
@@ -70,7 +69,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F>
- inline typename result_of::any<Seq&,F>::type
+ typename result_of::any<Seq&,F>::type
     any(Seq& seq, F f)
     {
         return !fusion::all(seq,detail::any_helper<F>(f));

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -29,7 +29,7 @@
     }
 
     template<typename Seq, typename T>
- inline typename result_of::count<
+ typename result_of::count<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , BOOST_FUSION_R_ELSE_CLREF(T)
>::type
@@ -43,7 +43,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename T>
- inline typename result_of::count<Seq&, T const&>::type
+ typename result_of::count<Seq&, T const&>::type
     count(Seq& seq, T const& x)
     {
         return fusion::count_if(seq,detail::count_helper<T const&>(x));

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -27,7 +27,7 @@
             {}
 
             template<typename E>
- inline int
+ int
             operator()(int count, BOOST_FUSION_R_ELSE_CLREF(E) e)
             {
                 return f(BOOST_FUSION_FORWARD(E,e)) ? ++count : count;
@@ -54,11 +54,10 @@
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::count_if<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ typename result_of::count_if<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ >::type
     count_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
              BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
@@ -70,7 +69,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F>
- inline typename result_of::count_if<Seq&,F>::type
+ typename result_of::count_if<Seq&,F>::type
     count_if(Seq& seq, F f)
     {
         return fusion::fold(seq,

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/find_if.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2007 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,6 +11,8 @@
 #define BOOST_FUSION_ALGORITHM_QUERY_DETAIL_FIND_IF_HPP
 
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
+#include <boost/fusion/sequence/intrinsic/end.hpp>
+#include <boost/fusion/iterator/value_of.hpp>
 #include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/iterator/advance_c.hpp>
@@ -26,6 +28,10 @@
 #include <boost/mpl/or.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/identity.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/mpl/lambda.hpp>
+#include <boost/mpl/bind.hpp>
+#include <boost/mpl/placeholders.hpp>
 
 namespace boost { namespace fusion
 {
@@ -194,6 +200,18 @@
                     fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)));
             }
         };
+
+ template<typename Seq, typename Pred>
+ struct find_if
+ : static_find_if<
+ typename result_of::begin<Seq>::type
+ , typename result_of::end<Seq>::type
+ , mpl::bind1<
+ typename mpl::lambda<Pred>::type
+ , mpl::bind1<mpl::quote1<result_of::value_of>,mpl::_1>
+ >
+ >
+ {};
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
+ Copyright (c) 2011 Eric Niebler
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,11 +14,14 @@
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/iterator/value_of.hpp>
+#include <boost/fusion/support/is_segmented.hpp>
 #include <boost/fusion/support/internal/workaround.hpp>
+#include <boost/mpl/eval_if.hpp>
 #include <boost/mpl/placeholders.hpp>
 #include <boost/type_traits/is_same.hpp>
 
 #include <boost/fusion/algorithm/query/detail/find_if.hpp>
+#include <boost/fusion/algorithm/query/detail/find_segmented.hpp>
 
 namespace boost { namespace fusion
 {
@@ -25,20 +29,24 @@
     {
         template<typename Seq, typename T>
         struct find
- : detail::static_seq_find_if<
- typename begin<Seq>::type
- , typename end<Seq>::type
- , is_same<value_of<mpl::_1>, T>
+ : mpl::eval_if<
+ traits::is_segmented<Seq>
+ , detail::find_semented<Seq, T>
+ , detail::static_seq_find_if<
+ typename begin<Seq>::type
+ , typename end<Seq>::type
+ , is_same<value_of<mpl::_1>, T>
+ >
>
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_forward<Seq>, traits::is_segmented<Seq> >))
         };
     }
 
     template<typename T, typename Seq>
- inline typename
- result_of::find<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type const
+ typename result_of::find<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
     find(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::find<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::call(seq);
@@ -46,8 +54,8 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename T, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
- result_of::find<,Seq,&, T>) const
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ result_of::find<,Seq,&, T>)
     find(Seq& seq)
     {
         return result_of::find<Seq&, T>::call(seq);

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,14 +12,12 @@
 #include <boost/fusion/support/internal/base.hpp>
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/sequence/intrinsic/end.hpp>
-#include <boost/fusion/iterator/value_of.hpp>
+#include <boost/fusion/support/is_segmented.hpp>
 #include <boost/fusion/support/internal/workaround.hpp>
-#include <boost/mpl/quote.hpp>
-#include <boost/mpl/lambda.hpp>
-#include <boost/mpl/bind.hpp>
-#include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/eval_if.hpp>
 
 #include <boost/fusion/algorithm/query/detail/find_if.hpp>
+#include <boost/fusion/algorithm/query/detail/find_if_segmented.hpp>
 
 namespace boost { namespace fusion
 {
@@ -27,23 +25,20 @@
     {
         template<typename Seq, typename Pred>
         struct find_if
- : detail::static_find_if<
- typename begin<Seq>::type
- , typename end<Seq>::type
- , mpl::bind1<
- typename mpl::lambda<Pred>::type
- , mpl::bind1<mpl::quote1<value_of>,mpl::_1>
- >
+ : mpl::eval_if<
+ typename traits::is_segmented<Seq>::type
+ , detail::find_if_segmented<Seq, Pred>
+ , detail::find_if<Seq, Pred>
>
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::or_<traits::is_forward<Seq>, traits::is_forward<Seq> >))
         };
     }
 
     template<typename Pred, typename Seq>
- inline typename
- result_of::find_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
+ typename result_of::find_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
     find_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return
@@ -54,7 +49,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Pred, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::find_if<,Seq,&,Pred>)
     find_if(Seq& seq)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -36,8 +36,7 @@
     }
 
     template<typename T, typename Seq>
- inline typename
- result_of::find_key<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type const
+ typename result_of::find_key<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
     find_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::find_key<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::call(
@@ -46,8 +45,8 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename T, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
- result_of::find_key<,Seq,&, T>) const
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ result_of::find_key<,Seq,&, T>) const
     find_key(Seq& seq)
     {
         return result_of::find_key<Seq&, T>::call(seq);

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -27,11 +27,10 @@
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::none<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ typename result_of::none<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ >::type
     none(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
         return !fusion::any(
@@ -41,7 +40,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F>
- inline typename result_of::none<Seq&, F>::type
+ typename result_of::none<Seq&, F>::type
     none(Seq& seq, F f)
     {
         return !fusion::any(seq,f);

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -38,7 +38,7 @@
     }
 
     template<typename Seq>
- inline typename result_of::clear<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::clear<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     clear(BOOST_FUSION_R_ELSE_CLREF(Seq))
     {
         return typename result_of::clear<

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/pp/zip_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -34,13 +34,12 @@
     }
 
     VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
- inline
 #if BOOST_FUSION_N
- typename
+ typename
 #endif
- result_of::zip<
- EXPAND_TEMPLATE_ARGUMENTS_A_R_ELSE_CLREF(BOOST_FUSION_N)
- >::type
+ result_of::zip<
+ EXPAND_TEMPLATE_ARGUMENTS_A_R_ELSE_CLREF(BOOST_FUSION_N)
+ >::type
     zip(EXPAND_TEMPLATE_ARGUMENTS_PARAMETERS_A_R_ELSE_CLREF(BOOST_FUSION_N))
     {
         return

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/detail/variadic_templates/zip.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -29,7 +29,7 @@
     }
 
     template<typename... Seqs>
- inline typename result_of::zip<BOOST_FUSION_R_ELSE_CLREF(Seqs)...>::type
+ typename result_of::zip<BOOST_FUSION_R_ELSE_CLREF(Seqs)...>::type
     zip(BOOST_FUSION_R_ELSE_CLREF(Seqs)... seqs)
     {
         return typename

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -73,7 +73,7 @@
     }
 
     template<typename Key, typename Seq>
- inline typename result_of::erase_key<
+ typename result_of::erase_key<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , Key
>::type
@@ -86,7 +86,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Key, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
         result_of::erase_key<,Seq,&, Key>)
     erase_key(Seq& 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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -30,7 +30,7 @@
     }
 
     template<typename T, typename Seq>
- inline typename result_of::filter<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
+ typename result_of::filter<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
     filter(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return filter_if<is_same<mpl::_1, T> >(BOOST_FUSION_FORWARD(Seq,seq));
@@ -38,7 +38,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename T, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::filter<,Seq,&, T>)
     filter(Seq& seq)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -38,10 +38,9 @@
             typedef filter_view<Seq, Pred, PredIsMetafunction> type;
         };
     }
-
+
     template<typename Pred, typename Seq>
- inline typename
- result_of::filter_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
+ typename result_of::filter_if<BOOST_FUSION_R_ELSE_CLREF(Seq), Pred>::type
     filter_if(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename result_of::filter_if<
@@ -51,7 +50,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Pred, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::filter_if<,Seq,&, Pred>)
     filter_if(Seq& seq)
     {
@@ -60,7 +59,7 @@
 #endif
 
     template<typename Pred, typename PredIsMetafunction, typename Seq>
- inline typename result_of::filter_if<
+ typename result_of::filter_if<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , Pred
       , PredIsMetafunction
@@ -78,12 +77,12 @@
     template<typename Pred, typename PredIsMetafunction, typename Seq>
 # if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) ||\
         BOOST_WORKAROUND(__GNUC__,<4)
- inline typename lazy_disable_if<
+ typename lazy_disable_if<
         is_const<Seq>
       , result_of::filter_if<Seq&,Pred,PredIsMetafunction>
>::type
 # else
- inline typename result_of::filter_if<Seq&,Pred,PredIsMetafunction>::type
+ typename result_of::filter_if<Seq&,Pred,PredIsMetafunction>::type
 # endif
     filter_if(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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -36,12 +36,11 @@
     }
 
     template<typename Seq, typename Pos, typename T>
- inline typename
- result_of::insert<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , Pos const&
- , BOOST_FUSION_R_ELSE_CLREF(T)
- >::type
+ typename result_of::insert<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , Pos const&
+ , BOOST_FUSION_R_ELSE_CLREF(T)
+ >::type
     insert(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
             Pos const& pos,
             BOOST_FUSION_R_ELSE_CLREF(T) x)
@@ -54,7 +53,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename Pos, typename T>
- inline typename result_of::insert<Seq&, Pos const&, T const&>::type
+ typename result_of::insert<Seq&, Pos const&, T const&>::type
     insert(Seq& seq,Pos const& pos,T const& x)
     {
         return insert_range(seq, pos, fusion::make_single_view(x));

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -51,42 +51,42 @@
         };
     }
 
-#define BOOST_FUSION_INSERT_RANGE(SEQ_CV_REF_MODIFIER,RANGE_CV_REF_MODIFIER)\
- template<typename Seq, typename Pos, typename Range>\
- inline typename\
- result_of::insert_range<\
- Seq SEQ_CV_REF_MODIFIER\
- , Pos const&\
- , Range RANGE_CV_REF_MODIFIER\
- >::type\
- insert_range(Seq SEQ_CV_REF_MODIFIER seq,\
- Pos const& pos,\
- Range RANGE_CV_REF_MODIFIER range)\
- {\
- typedef\
- result_of::insert_range<\
- Seq SEQ_CV_REF_MODIFIER\
- , Pos const&\
- , Range RANGE_CV_REF_MODIFIER\
- >\
- result;\
- typedef typename result::left_type left_type;\
- typedef typename result::right_type right_type;\
- typedef typename result::left_insert_type left_insert_type;\
- \
- return typename result::type(\
- left_insert_type(\
- left_type(\
- fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)),\
- pos\
- ),\
- static_cast<Range RANGE_CV_REF_MODIFIER>(range)\
- ),\
- right_type(\
- pos,\
- fusion::end(seq)\
- )\
- );\
+#define BOOST_FUSION_INSERT_RANGE(SEQ_CV_REF_MODIFIER,RANGE_CV_REF_MODIFIER) \
+ template<typename Seq, typename Pos, typename Range> \
+ typename \
+ result_of::insert_range< \
+ Seq SEQ_CV_REF_MODIFIER \
+ , Pos const& \
+ , Range RANGE_CV_REF_MODIFIER \
+ >::type \
+ insert_range(Seq SEQ_CV_REF_MODIFIER seq, \
+ Pos const& pos, \
+ Range RANGE_CV_REF_MODIFIER range) \
+ { \
+ typedef \
+ result_of::insert_range< \
+ Seq SEQ_CV_REF_MODIFIER \
+ , Pos const& \
+ , Range RANGE_CV_REF_MODIFIER \
+ > \
+ result; \
+ typedef typename result::left_type left_type; \
+ typedef typename result::right_type right_type; \
+ typedef typename result::left_insert_type left_insert_type; \
+ \
+ return typename result::type( \
+ left_insert_type( \
+ left_type( \
+ fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)), \
+ pos \
+ ), \
+ static_cast<Range RANGE_CV_REF_MODIFIER>(range) \
+ ), \
+ right_type( \
+ pos, \
+ fusion::end(seq) \
+ ) \
+ ); \
     }
 
     BOOST_FUSION_INSERT_RANGE(

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,9 +1,9 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -30,22 +30,21 @@
         };
     }
 
-#define BOOST_FUSION_JOIN(SEQ1_CV_REF_MODIFIER,SEQ2_CV_REF_MODIFIER)\
- template<typename Seq1, typename Seq2>\
- inline typename\
- result_of::join<\
- Seq1 SEQ1_CV_REF_MODIFIER\
- , Seq2 SEQ2_CV_REF_MODIFIER\
- >::type\
- join(Seq1 SEQ1_CV_REF_MODIFIER seq1,\
- Seq2 SEQ2_CV_REF_MODIFIER seq2)\
- {\
- return typename\
- result_of::join<\
- Seq1 SEQ1_CV_REF_MODIFIER\
- , Seq2 SEQ2_CV_REF_MODIFIER\
- >::type(static_cast<Seq1 SEQ1_CV_REF_MODIFIER>(seq1)\
- , static_cast<Seq2 SEQ2_CV_REF_MODIFIER>(seq2));\
+#define BOOST_FUSION_JOIN(SEQ1_CV_REF_MODIFIER,SEQ2_CV_REF_MODIFIER) \
+ template<typename Seq1, typename Seq2> \
+ typename \
+ result_of::join< \
+ Seq1 SEQ1_CV_REF_MODIFIER \
+ , Seq2 SEQ2_CV_REF_MODIFIER \
+ >::type \
+ join(Seq1 SEQ1_CV_REF_MODIFIER seq1, \
+ Seq2 SEQ2_CV_REF_MODIFIER seq2) \
+ { \
+ return typename result_of::join< \
+ Seq1 SEQ1_CV_REF_MODIFIER \
+ , Seq2 SEQ2_CV_REF_MODIFIER \
+ >::type(static_cast<Seq1 SEQ1_CV_REF_MODIFIER>(seq1) \
+ , static_cast<Seq2 SEQ2_CV_REF_MODIFIER>(seq2)); \
     }
 
     BOOST_FUSION_JOIN(

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -26,17 +26,17 @@
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>))
 
- typedef
+ typedef
                 iterator_range<
                     typename begin<Seq>::type
                   , typename prior<typename end<Seq>::type>::type
- >
+ >
             type;
         };
     }
 
     template<typename Seq>
- inline typename result_of::pop_back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::pop_back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     pop_back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename
@@ -47,7 +47,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename result_of::pop_back<Seq&>::type
+ typename result_of::pop_back<Seq&>::type
     pop_back(Seq& seq)
     {
         return typename

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -26,17 +26,17 @@
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>))
 
- typedef
+ typedef
                 iterator_range<
                     typename next<typename begin<Seq>::type>::type
                   , typename end<Seq>::type
- >
+ >
             type;
         };
     }
 
     template<typename Seq>
- inline typename result_of::pop_front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::pop_front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     pop_front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename
@@ -49,7 +49,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename result_of::pop_front<Seq&>::type
+ typename result_of::pop_front<Seq&>::type
     pop_front(Seq& seq)
     {
         return typename

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -34,11 +34,10 @@
     }
 
     template<typename Seq, typename T>
- inline typename
- result_of::push_back<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(T)
- >::type
+ typename result_of::push_back<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_R_ELSE_CLREF(T)
+ >::type
     push_back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq, BOOST_FUSION_R_ELSE_CLREF(T) x)
     {
         return typename
@@ -51,7 +50,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename T>
- inline typename result_of::push_back<Seq&, T const&>::type
+ typename result_of::push_back<Seq&, T const&>::type
     push_back(Seq& seq, T const& x)
     {
         return typename result_of::push_back<Seq&, T const&>::type(

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -34,7 +34,7 @@
     }
 
     template<typename Seq, typename T>
- inline typename result_of::push_front<
+ typename result_of::push_front<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , BOOST_FUSION_R_ELSE_CLREF(T)
>::type
@@ -51,7 +51,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename T>
- inline typename result_of::push_front<Seq&, T const&>::type
+ typename result_of::push_front<Seq&, T const&>::type
     push_front(Seq& seq, T const& x)
     {
         return typename result_of::push_front<Seq&, T const&>::type(

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -30,7 +30,7 @@
     }
 
     template<typename T, typename Seq>
- inline typename result_of::remove<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
+ typename result_of::remove<BOOST_FUSION_R_ELSE_CLREF(Seq), T>::type
     remove(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return fusion::remove_if<is_same<mpl::_1, T> >(
@@ -39,7 +39,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename T, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
         result_of::remove<,Seq,&, T>)
     remove_if(Seq& seq)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -29,7 +29,7 @@
     }
 
     template<typename Pred, typename Seq>
- inline typename result_of::remove_if<
+ typename result_of::remove_if<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , Pred
>::type
@@ -43,7 +43,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Pred, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::remove_if<,Seq,&, Pred>)
     remove_if(Seq& seq)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -74,11 +74,10 @@
     }
 
     template<typename Seq, typename OldValue, typename NewValue>
- inline typename
- result_of::replace<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_R_ELSE_CLREF(OldValue)
- >::type
+ typename result_of::replace<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_R_ELSE_CLREF(OldValue)
+ >::type
     replace(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
             BOOST_FUSION_R_ELSE_CLREF(OldValue) old_value,
             BOOST_FUSION_R_ELSE_CLREF(NewValue) new_value)
@@ -108,7 +107,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename OldValue, typename NewValue>
- inline typename result_of::replace<Seq&, OldValue const&>::type
+ typename result_of::replace<Seq&, OldValue const&>::type
     replace(Seq& seq, OldValue const& old_value, NewValue const& new_value)
     {
         BOOST_FUSION_MPL_ASSERT((

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -37,7 +37,7 @@
     }
 
     template<typename Seq, typename F, typename NewValue>
- inline typename result_of::replace_if<
+ typename result_of::replace_if<
         BOOST_FUSION_R_ELSE_CLREF(Seq)
       , BOOST_FUSION_RREF_ELSE_OBJ(F)
       , BOOST_FUSION_R_ELSE_CLREF(NewValue)
@@ -63,7 +63,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq, typename F, typename NewValue>
- inline typename result_of::replace_if<Seq&, F, NewValue const&>::type
+ typename result_of::replace_if<Seq&, F, NewValue const&>::type
     replace_if(Seq& seq,F pred,NewValue const& new_value)
     {
         typedef result_of::replace_if<Seq&, F, NewValue const&> result;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -27,7 +27,7 @@
     }
 
     template<typename Seq>
- inline typename result_of::reverse<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::reverse<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     reverse(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename result_of::reverse<
@@ -37,7 +37,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename result_of::reverse<Seq&>::type
+ typename result_of::reverse<Seq&>::type
     reverse(Seq& seq)
     {
         return typename result_of::reverse<Seq&>::type(seq);

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -76,12 +76,11 @@
 
     //TODO boost config macro for default arguments for function templates
     template<typename IsAssociative,typename Seq, typename F>
- inline typename
- result_of::transform<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- , IsAssociative
- >::type
+ typename result_of::transform<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ , IsAssociative
+ >::type
     transform(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
             BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
@@ -93,11 +92,10 @@
     }
 
     template<typename Seq, typename F>
- inline typename
- result_of::transform<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , BOOST_FUSION_RREF_ELSE_OBJ(F)
- >::type
+ typename result_of::transform<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)
+ >::type
     transform(BOOST_FUSION_R_ELSE_CLREF(Seq) seq,
             BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
@@ -109,7 +107,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename IsAssociative,typename Seq, typename F>
- inline typename result_of::transform<Seq&, F>::type
+ typename result_of::transform<Seq&, F>::type
     transform(Seq& seq, F f)
     {
 #ifdef BOOST_MSVC
@@ -124,7 +122,7 @@
     }
 
     template<typename Seq, typename F>
- inline typename result_of::transform<Seq&, F>::type
+ typename result_of::transform<Seq&, F>::type
     transform(Seq& seq, F f)
     {
         return typename result_of::transform<Seq&, F>::type(seq, f);
@@ -133,7 +131,7 @@
 
 #define BOOST_FUSION_TRANSFORM_BINARY(SEQ1_CV_REF_MODIFIER,SEQ2_CV_REF_MODIFIER)\
     template<typename IsAssociative,typename Seq1, typename Seq2, typename F>\
- inline typename\
+ typename\
         result_of::transform<\
             Seq1 SEQ1_CV_REF_MODIFIER\
           , Seq2 SEQ2_CV_REF_MODIFIER\
@@ -156,12 +154,11 @@
     }\
     \
     template<typename Seq1, typename Seq2, typename F>\
- inline typename\
- result_of::transform<\
- Seq1 SEQ1_CV_REF_MODIFIER\
- , Seq2 SEQ2_CV_REF_MODIFIER\
- , BOOST_FUSION_RREF_ELSE_OBJ(F)\
- >::type\
+ typename result_of::transform<\
+ Seq1 SEQ1_CV_REF_MODIFIER\
+ , Seq2 SEQ2_CV_REF_MODIFIER\
+ , BOOST_FUSION_RREF_ELSE_OBJ(F)\
+ >::type\
     transform(Seq1 SEQ1_CV_REF_MODIFIER seq1\
           , Seq2 SEQ2_CV_REF_MODIFIER seq2\
           , BOOST_FUSION_RREF_ELSE_OBJ(F) f)\

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/convert_impl.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -76,10 +76,9 @@
     }
 
     template<typename Seq>
- inline typename
- result_of::BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- >::type
+ typename result_of::BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ >::type
     BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME)<

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/cons_tie.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -31,9 +31,8 @@
         };
     }
 
- // $$$ do we really want a cons_tie? $$$
     template<typename Car>
- inline typename result_of::cons_tie<BOOST_FUSION_R_ELSE_LREF(Car)>::type
+ typename result_of::cons_tie<BOOST_FUSION_R_ELSE_LREF(Car)>::type
     cons_tie(BOOST_FUSION_R_ELSE_LREF(Car) car)
     {
         return typename
@@ -42,20 +41,19 @@
     }
 
     template<typename Car, typename Cdr>
- inline typename
- result_of::cons_tie<
- BOOST_FUSION_R_ELSE_LREF(Car)
- , BOOST_FUSION_R_ELSE_LREF(Cdr)
- >::type
+ typename result_of::cons_tie<
+ BOOST_FUSION_R_ELSE_LREF(Car)
+ , BOOST_FUSION_R_ELSE_LREF(Cdr)
+ >::type
     cons_tie(BOOST_FUSION_R_ELSE_LREF(Car) car
            , BOOST_FUSION_R_ELSE_LREF(Cdr) cdr)
     {
- return typename
- result_of::cons_tie<
- BOOST_FUSION_R_ELSE_LREF(Car)
- , BOOST_FUSION_R_ELSE_LREF(Cdr)>::type(
- BOOST_FUSION_FORWARD(Car,car)
- , BOOST_FUSION_FORWARD(Cdr,cdr));
+ return typename result_of::cons_tie<
+ BOOST_FUSION_R_ELSE_LREF(Car)
+ , BOOST_FUSION_R_ELSE_LREF(Cdr)
+ >::type(
+ BOOST_FUSION_FORWARD(Car,car)
+ , BOOST_FUSION_FORWARD(Cdr,cdr));
     }
 }}
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_map_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -49,7 +49,6 @@
       , BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename A)
>
 #endif
- inline
 #if BOOST_FUSION_N
         typename
 #endif
@@ -74,4 +73,3 @@
 
 #undef BOOST_FUSION_COMMA
 #undef BOOST_FUSION_N
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/make_seq_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -27,7 +27,6 @@
     }
 
     VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
- inline
 #if BOOST_FUSION_N
         typename
 #endif
@@ -47,4 +46,3 @@
     }
 
 #undef BOOST_FUSION_N
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/map_tie_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -50,7 +50,6 @@
       , BOOST_PP_ENUM_PARAMS(BOOST_FUSION_N, typename A)
>
 #endif
- inline
 #if BOOST_FUSION_N
         typename
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/pp/seq_tie_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -27,7 +27,6 @@
     }
 
     VARIADIC_TEMPLATE_A(BOOST_FUSION_N)
- inline
 #if BOOST_FUSION_N
         typename
 #endif
@@ -63,4 +62,3 @@
     }
 
 #undef BOOST_FUSION_N
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -70,7 +70,7 @@
     }
 
     template<typename... Keys, typename... Types>
- inline typename
+ typename
         result_of::make_map<Keys...,BOOST_FUSION_R_ELSE_CLREF(Types)...>::type
     make_map(BOOST_FUSION_R_ELSE_CLREF(Types)... types)
     {

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_seq.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -23,7 +23,7 @@
     }
 
     template<typename... Types>
- inline typename result_of::BOOST_FUSION_FUNCTION_NAME<
+ typename result_of::BOOST_FUSION_FUNCTION_NAME<
         BOOST_FUSION_R_ELSE_CLREF(Types)...
>::type
     BOOST_PP_CAT(make_,BOOST_FUSION_SEQ_NAME)(
@@ -34,4 +34,3 @@
>::type(BOOST_FUSION_FORWARD(Types, types)...);
     }
 }}
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -73,8 +73,10 @@
     }
 
     template<typename... Keys, typename... Types>
- inline typename
- result_of::map_tie<Keys...,BOOST_FUSION_R_ELSE_LREF(Types)...>::type
+ typename result_of::map_tie<
+ Keys...
+ , BOOST_FUSION_R_ELSE_LREF(Types)...
+ >::type
     map_tie(BOOST_FUSION_R_ELSE_LREF(Types)... types)
     {
         return typename result_of::map_tie<

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/seq_tie.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -25,7 +25,7 @@
     }
 
     template<typename... Types>
- inline typename result_of::BOOST_FUSION_FUNCTION_NAME<
+ typename result_of::BOOST_FUSION_FUNCTION_NAME<
         BOOST_FUSION_R_ELSE_LREF(Types)...
>::type
     BOOST_FUSION_FUNCTION_NAME(BOOST_FUSION_R_ELSE_LREF(Types)... types)
@@ -41,4 +41,3 @@
         );
     }
 }}
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/make_cons.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -33,7 +33,7 @@
     }
 
     template<typename Car>
- inline typename result_of::make_cons<BOOST_FUSION_R_ELSE_CLREF(Car)>::type
+ typename result_of::make_cons<BOOST_FUSION_R_ELSE_CLREF(Car)>::type
     make_cons(BOOST_FUSION_R_ELSE_CLREF(Car) car)
     {
         typedef typename
@@ -44,11 +44,10 @@
     }
 
     template<typename Car, typename Cdr>
- inline typename
- result_of::make_cons<
- BOOST_FUSION_R_ELSE_CLREF(Car)
- , BOOST_FUSION_R_ELSE_CLREF(Cdr)
- >::type
+ typename result_of::make_cons<
+ BOOST_FUSION_R_ELSE_CLREF(Car)
+ , BOOST_FUSION_R_ELSE_CLREF(Cdr)
+ >::type
     make_cons(BOOST_FUSION_R_ELSE_CLREF(Car) car,
               BOOST_FUSION_R_ELSE_CLREF(Cdr) cdr)
     {

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2005 Eric Niebler
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -27,7 +27,7 @@
 #endif
 #include <boost/utility/enable_if.hpp>
 
-#include <boost/fusion/container/list/detail/cons_fwd.hpp>
+#include <boost/fusion/container/list/list_fwd.hpp>
 #include <boost/fusion/container/list/detail/cons_iterator.hpp>
 #include <boost/fusion/container/list/detail/value_at_impl.hpp>
 #include <boost/fusion/container/list/detail/at_impl.hpp>
@@ -58,7 +58,7 @@
 
         typedef mpl::int_<0> size;
         typedef cons_tag fusion_tag;
- typedef fusion_sequence_tag tag;
+ typedef fusion_sequence_tag tag;
         typedef forward_traversal_tag category;
 
         nil()
@@ -104,7 +104,7 @@
         {}
     };
 
- template<typename Car, typename Cdr = nil>
+ template<typename Car, typename Cdr>
     struct cons
     {
         typedef Car car_type;
@@ -112,7 +112,7 @@
 
         typedef mpl::int_<Cdr::size::value+1> size;
         typedef cons_tag fusion_tag;
- typedef fusion_sequence_tag tag;
+ typedef fusion_sequence_tag tag;
         typedef forward_traversal_tag category;
 
         cons()

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -15,8 +15,16 @@
 
 namespace boost { namespace fusion
 {
+ struct list_tag;
+ struct cons_tag;
+
     VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_LIST_SIZE)
     struct list;
+
+ struct nil;
+
+ template<typename Car, typename Cdr=nil>
+ struct cons;
 }}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -328,4 +328,3 @@
 
 # undef BOOST_FUSION_N
 #endif
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -28,15 +28,18 @@
 
 #include <boost/preprocessor/cat.hpp>
 
-namespace boost { namespace fusion { namespace detail
+namespace boost { namespace fusion
 {
- VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_VECTOR_SIZE)
- struct vector_n_chooser;
+ namespace detail
+ {
+ VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_VECTOR_SIZE)
+ struct vector_n_chooser;
+ }
 
 #define BOOST_PP_FILENAME_1 <boost/fusion/container/vector/detail/pp/vector_n_chooser_n.hpp>
 #define BOOST_PP_ITERATION_LIMITS (0, FUSION_MAX_VECTOR_SIZE)
 #include BOOST_PP_ITERATE()
 
-}}}
+}}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser_n.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser_n.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/vector/detail/pp/vector_n_chooser_n.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,24 +1,26 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
 #define BOOST_FUSION_N BOOST_PP_ITERATION()
 
- VARIADIC_TEMPLATE(BOOST_FUSION_N)
- struct vector_n_chooser
- EXPAND_TEMPLATE_ARGUMENTS_SPECIALIZATION(
- FUSION_MAX_VECTOR_SIZE,BOOST_FUSION_N)
+ namespace detail
     {
- typedef
- BOOST_PP_CAT(vector, BOOST_FUSION_N)<
- EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
- >
- type;
- };
+ VARIADIC_TEMPLATE(BOOST_FUSION_N)
+ struct vector_n_chooser
+ EXPAND_TEMPLATE_ARGUMENTS_SPECIALIZATION(
+ FUSION_MAX_VECTOR_SIZE,BOOST_FUSION_N)
+ {
+ typedef
+ BOOST_PP_CAT(vector, BOOST_FUSION_N)<
+ EXPAND_TEMPLATE_ARGUMENTS(BOOST_FUSION_N)
+ >
+ type;
+ };
+ }
 
 #undef BOOST_FUSION_N
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/generation/detail/gen_make_adapter.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2007 Tobias Schwinger
 
- Use modification and distribution are subject to the Boost Software
+ 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).
 ==============================================================================*/
@@ -27,7 +27,7 @@
     }
 
     template<typename F>
- inline typename
+ typename
         result_of::BOOST_FUSION_FUNC_NAME<BOOST_FUSION_RREF_ELSE_OBJ(F)>::type
     BOOST_FUSION_FUNC_NAME(BOOST_FUSION_RREF_ELSE_OBJ(F) f)
     {
@@ -38,4 +38,3 @@
 }}
 
 #undef BOOST_FUSION_FUSED_CLASS_NAME
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/invoke.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -35,7 +35,7 @@
 #if defined(BOOST_FUSION_NO_RVALUE_REFERENCES) ||\
     defined(BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS)
     template<typename F, typename Seq>
- inline typename result_of::BOOST_FUSION_INVOKE_NAME<F, Seq const&>::type
+ typename result_of::BOOST_FUSION_INVOKE_NAME<F, Seq const&>::type
     BOOST_FUSION_INVOKE_NAME(F f, BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
          return result_of::BOOST_FUSION_INVOKE_NAME<
@@ -46,7 +46,7 @@
 
 # ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename F, typename Seq>
- inline typename result_of::BOOST_FUSION_INVOKE_NAME<F,Seq&>::type
+ typename result_of::BOOST_FUSION_INVOKE_NAME<F,Seq&>::type
     BOOST_FUSION_INVOKE_NAME(F f,Seq& seq)
     {
         return result_of::BOOST_FUSION_INVOKE_NAME<F,Seq&>::call(f,seq);
@@ -54,7 +54,7 @@
 # endif
 #else
     template<typename FQualified=void,typename F=void, typename Seq=void>
- inline typename result_of::BOOST_FUSION_INVOKE_NAME<
+ typename result_of::BOOST_FUSION_INVOKE_NAME<
         typename mpl::if_c<
             is_same<FQualified, void>::value
           , F&&
@@ -75,4 +75,3 @@
     }
 #endif
 }}
-

Modified: sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/functional/invocation/detail/that_ptr.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,8 +1,8 @@
 /*==============================================================================
     Copyright (c) 2006-2007 Tobias Schwinger
- Copyright (c) 2009 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
- Use modification and distribution are subject to the Boost Software
+ 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).
 ==============================================================================*/
@@ -29,34 +29,34 @@
         typedef typename detail::remove_reference<WantedRef>::type* wanted;
 
         template<typename T>
- static inline wanted
+ static wanted
         do_get_pointer(BOOST_FUSION_R_ELSE_LREF(T), wanted ptr)
         {
             return ptr;
         }
 
         template<typename T>
- static inline wanted
+ static wanted
         do_get_pointer(BOOST_FUSION_R_ELSE_LREF(T) t, void const*)
         {
             return get_pointer(BOOST_FUSION_FORWARD(T,t));
         }
 
     public:
- static inline wanted
+ static wanted
         get(WantedRef x)
         {
             return boost::addressof(x);
         }
 
- static inline wanted
+ static wanted
         get(wanted ptr)
         {
             return ptr;
         }
 
         template<typename T>
- static inline wanted
+ static wanted
         get(BOOST_FUSION_R_ELSE_LREF(T) t,
             //TODO
             typename disable_if<
@@ -76,7 +76,7 @@
     {
         using boost::get_pointer;
         void const* get_pointer(...);
-
+
         template<typename T>
         small_type const_tester(T*);
 

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -60,14 +60,14 @@
     }
 
     template<int N, typename It>
- inline typename result_of::advance_c<It const&, N>::type
+ typename result_of::advance_c<It const&, N>::type
     advance_c(It const& it)
     {
         return result_of::advance_c<It const&, N>::call(it);
     }
 
     template<typename N, typename It>
- inline typename result_of::advance<It const&, N>::type
+ typename result_of::advance<It const&, N>::type
     advance(It const& it)
     {
         return result_of::advance<It const&, N>::call(it);

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -42,7 +42,7 @@
     }
 
     template<typename Begin, typename End>
- inline typename result_of::distance<Begin const&, End const&>::type
+ typename result_of::distance<Begin const&, End const&>::type
     distance(Begin const&, End const&)
     {
         return typename result_of::distance<Begin const&, End const&>::type();

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -39,7 +39,7 @@
     namespace iterator_operators
     {
         template<typename It1, typename It2>
- inline BOOST_FUSION_CONSTEXPR
+ BOOST_FUSION_CONSTEXPR
         typename enable_if<
             mpl::and_<traits::is_iterator<It1>, traits::is_iterator<It2> >
           , bool
@@ -50,7 +50,7 @@
         }
 
         template<typename It1, typename It2>
- inline BOOST_FUSION_CONSTEXPR
+ BOOST_FUSION_CONSTEXPR
         typename enable_if<
             mpl::and_<
                 traits::is_iterator<It1>

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/iterator_facade.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -12,16 +12,17 @@
 #include <boost/fusion/support/internal/facade_generation.hpp>
 
 #define BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS \
- ((advance, 1, 1)) \
- ((deref_data, 0, 0)) \
- ((deref, 0, 0)) \
- ((distance, 1, 0)) \
- ((equal_to, 1, 0)) \
- ((key_of, 0, 0)) \
- ((next, 0, 0)) \
- ((prior, 0, 0)) \
- ((value_of_data, 0, 0)) \
- ((value_of, 0, 0))
+ ((advance, 1)) \
+ ((deref_data, 0)) \
+ ((deref, 0)) \
+ ((distance, 1)) \
+ ((equal_to, 1)) \
+ ((is_segmented, 0)) \
+ ((key_of, 0)) \
+ ((next, 0)) \
+ ((prior, 0)) \
+ ((value_of_data, 0)) \
+ ((value_of, 0))
 
 BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_WRAPPER(
     iterator_facade_tag, BOOST_FUSION_ITERATOR_INTRINSIC_FUNCS)

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/begin.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,7 +9,6 @@
 #ifndef BOOST_FUSION_MPL_DETAIL_BEGIN_HPP
 #define BOOST_FUSION_MPL_DETAIL_BEGIN_HPP
 
-#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/mpl/detail/fusion_iterator.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/end.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/end.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/mpl/detail/end.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,7 +9,6 @@
 #ifndef BOOST_FUSION_MPL_DETAIL_END_HPP
 #define BOOST_FUSION_MPL_DETAIL_END_HPP
 
-#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/mpl/detail/fusion_iterator.hpp>
 

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,7 +12,6 @@
 #include <boost/fusion/support/internal/base.hpp>
 #include <boost/fusion/container/vector/convert.hpp>
 
-//TODO doc!!!
 namespace boost { namespace fusion
 {
     namespace extension
@@ -45,8 +45,7 @@
     }
 
     template<typename Tag, typename Seq>
- inline typename
- result_of::convert<Tag, BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::convert<Tag, BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     convert(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::convert<

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -17,6 +17,7 @@
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/sequence/intrinsic/front.hpp>
 #include <boost/fusion/sequence/intrinsic/has_key.hpp>
+#include <boost/fusion/sequence/intrinsic/segments.hpp>
 #include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/sequence/intrinsic/swap.hpp>
 #include <boost/fusion/sequence/intrinsic/value_at_c.hpp>

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -73,7 +73,7 @@
     }
 
     template<typename N, typename Seq>
- inline typename result_of::at<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
+ typename result_of::at<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
     at(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::at<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::call(
@@ -82,7 +82,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename N, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::at<,Seq,&,N>)
     at(Seq& seq)
     {
@@ -91,8 +91,7 @@
 #endif
 
     template<int N, typename Seq>
- inline typename
- result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
+ typename result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Seq), N>::type
     at_c(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return fusion::at<mpl::int_<N> >(BOOST_FUSION_FORWARD(Seq,seq));
@@ -100,7 +99,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<int N, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
             result_of::at_c<,Seq,&, N>)
     at_c(Seq& 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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2006 Dan Marsden
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -59,10 +59,7 @@
     }
 
     template<typename Key, typename Seq>
- inline typename result_of::at_key<
- BOOST_FUSION_R_ELSE_CLREF(Seq)
- , Key
- >::type
+ typename result_of::at_key<BOOST_FUSION_R_ELSE_CLREF(Seq), Key>::type
     at_key(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return result_of::at_key<BOOST_FUSION_R_ELSE_CLREF(Seq), Key>::call(
@@ -71,7 +68,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Key, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
         result_of::at_key<,Seq,&,Key>)
     at_key(Seq& 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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,7 +13,6 @@
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/iterator/prior.hpp>
 #include <boost/fusion/iterator/deref.hpp>
-#include <boost/mpl/bool.hpp>
 
 namespace boost { namespace fusion
 {
@@ -30,7 +29,7 @@
     }
 
     template<typename Seq>
- inline typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::back<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     back(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return fusion::deref(fusion::prior(fusion::end(
@@ -39,7 +38,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename result_of::back<Seq&>::type
+ typename result_of::back<Seq&>::type
     back(Seq& seq)
     {
         return fusion::deref(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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,13 +13,22 @@
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/is_sequence.hpp>
 #include <boost/utility/enable_if.hpp>
+#include <boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp>
 
 namespace boost { namespace fusion
 {
     namespace extension
     {
         template<typename>
- struct begin_impl;
+ struct begin_impl
+ {
+ template<typename Seq>
+ struct apply
+ : detail::segmented_begin<Seq>
+ {
+ BOOST_FUSION_MPL_ASSERT((traits::is_segmented<Seq>))
+ };
+ };
     }
 
     namespace result_of
@@ -36,7 +45,7 @@
     }
 
     template<typename Seq>
- inline typename lazy_enable_if<
+ typename lazy_enable_if<
         traits::is_sequence<BOOST_FUSION_R_ELSE_CLREF(Seq)>
       , result_of::begin<BOOST_FUSION_R_ELSE_CLREF(Seq)>
>::type
@@ -48,7 +57,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename lazy_enable_if<
+ typename lazy_enable_if<
         traits::is_sequence<Seq&>
       , result_of::begin<Seq&>
>::type

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -41,7 +41,7 @@
     }
 
     template<typename Seq>
- inline typename result_of::empty<Seq const&>::type
+ typename result_of::empty<Seq const&>::type
     empty(Seq const&)
     {
         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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -13,13 +13,22 @@
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/is_sequence.hpp>
 #include <boost/utility/enable_if.hpp>
+#include <boost/fusion/sequence/intrinsic/detail/segmented_end.hpp>
 
 namespace boost { namespace fusion
 {
     namespace extension
     {
         template<typename>
- struct end_impl;
+ struct end_impl
+ {
+ template<typename Seq>
+ struct apply
+ : detail::segmented_end<Seq>
+ {
+ BOOST_FUSION_MPL_ASSERT((traits::is_segmented<Seq>))
+ };
+ };
     }
 
     namespace result_of
@@ -35,7 +44,7 @@
     }
 
     template<typename Seq>
- inline typename lazy_enable_if<
+ typename lazy_enable_if<
         traits::is_sequence<BOOST_FUSION_R_ELSE_CLREF(Seq)>
       , result_of::end<BOOST_FUSION_R_ELSE_CLREF(Seq)>
>::type
@@ -47,7 +56,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename lazy_enable_if<
+ typename lazy_enable_if<
         traits::is_sequence<Seq&>
       , result_of::end<Seq&>
>::type

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -29,7 +30,7 @@
     }
 
     template<typename Seq>
- inline typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::front<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     front(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return fusion::deref(fusion::begin(BOOST_FUSION_FORWARD(Seq,seq)));
@@ -37,7 +38,7 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Seq>
- inline typename result_of::front<Seq&>::type
+ typename result_of::front<Seq&>::type
     front(Seq& seq)
     {
         return fusion::deref(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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -49,7 +49,7 @@
     }
 
     template<typename Key, typename Seq>
- inline typename result_of::has_key<Seq const&, Key>::type
+ typename result_of::has_key<Seq const&, Key>::type
     has_key(Seq const& seq)
     {
         return typename result_of::has_key<Seq const&, Key>::type();

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,7 @@
+
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -9,12 +11,22 @@
 #define BOOST_FUSION_SEQUENCE_INTRINSIC_SIZE_HPP
 
 #include <boost/fusion/support/internal/base.hpp>
+#include <boost/fusion/support/is_segmented.hpp>
 #include <boost/fusion/support/tag_of.hpp>
-
+#include <boost/mpl/if.hpp>
 #include <boost/mpl/int.hpp>
+#include <boost/fusion/sequence/intrinsic/detail/segmented_size.hpp>
 
 namespace boost { namespace fusion
 {
+ namespace detail
+ {
+ template<typename Seq>
+ struct size
+ : remove_reference<Seq>::type::size
+ {};
+ }
+
     namespace extension
     {
         template<typename>
@@ -22,7 +34,11 @@
         {
             template<typename Seq>
             struct apply
- : detail::remove_reference<Seq>::type::size
+ : mpl::if_<
+ traits::is_segmented<Seq>
+ , detail::segmented_size<Seq>
+ , detail::size<Seq>
+ >::type
             {};
         };
     }
@@ -35,12 +51,11 @@
                 template apply<Seq>::type
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>))
         };
     }
 
     template<typename Seq>
- inline typename result_of::size<Seq const&>::type
+ typename result_of::size<Seq const&>::type
     size(Seq const&)
     {
         return typename result_of::size<Seq const&>::type();

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -3,7 +3,7 @@
     Copyright (c) 1999-2003 Jeremiah Willcock
     Copyright (c) 2001-2006 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -79,7 +79,7 @@
     };
 
     template<typename IS, typename Seq>
- inline void
+ void
     read_sequence(IS& is, Seq& seq)
     {
         delimiter_in<tuple_open_tag>::read(is, "(");

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -3,7 +3,7 @@
     Copyright (c) 1999-2003 Jaakko Jarvi
     Copyright (c) 2001-2006 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -27,7 +27,7 @@
 #endif
 
 //$$$ these should be part of the public API$$$
-//$$$ rename tuple_open, tuple_close and tuple_delimiter to
+//$$$ rename tuple_open, tuple_close and tuple_delimiter to
 // open, close and delimeter and add these synonyms to the
 // TR1 tuple module.
 
@@ -164,14 +164,14 @@
             name##_type(const string_type& d): data(d) {} \
         }; \
                                                                                 \
- template<typename Stream> \
+ template<typename Stream> \
         Stream& operator>>(Stream& s, const name##_type& m) \
         { \
             string_ios_manip<name##_tag, Stream>(s).set(m.data); \
             return s; \
         } \
                                                                                 \
- template<typename Stream> \
+ template<typename Stream> \
         Stream& operator<<(Stream& s, const name##_type& m) \
         { \
             string_ios_manip<name##_tag, Stream>(s).set(m.data); \
@@ -180,19 +180,19 @@
     }
 
 #define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- inline detail::name##_type \
+ detail::name##_type \
     name(const std::string& s) \
     { \
         return detail::name##_type(s); \
     } \
                                                                                 \
- inline detail::name##_type \
+ detail::name##_type \
     name(const char* s) \
     { \
         return detail::name##_type(std::string(s)); \
     } \
                                                                                 \
- inline detail::name##_type \
+ detail::name##_type \
     name(char c) \
     { \
         return detail::name##_type(std::string(1, c)); \
@@ -203,32 +203,32 @@
 #if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
 
 #define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template<typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
+ template<typename Char, typename Traits> \
+ detail::name##_type<Char, Traits> \
     name(const std::basic_string<Char, Traits>& s) \
     { \
         return detail::name##_type<Char, Traits>(s); \
     } \
                                                                                 \
- inline detail::name##_type<char> \
+ detail::name##_type<char> \
     name(char const* s) \
     { \
         return detail::name##_type<char>(std::basic_string<char>(s)); \
     } \
                                                                                 \
- inline detail::name##_type<wchar_t> \
+ detail::name##_type<wchar_t> \
     name(wchar_t const* s) \
     { \
         return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(s)); \
     } \
                                                                                 \
- inline detail::name##_type<char> \
+ detail::name##_type<char> \
     name(char c) \
     { \
         return detail::name##_type<char>(std::basic_string<char>(1, c)); \
     } \
                                                                                 \
- inline detail::name##_type<wchar_t> \
+ detail::name##_type<wchar_t> \
     name(wchar_t c) \
     { \
         return detail::name##_type<wchar_t>(std::basic_string<wchar_t>(1, c)); \
@@ -237,29 +237,29 @@
 #else // defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
 
 #define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
- template<typename Char, typename Traits> \
- inline detail::name##_type<Char, Traits> \
+ template<typename Char, typename Traits> \
+ detail::name##_type<Char, Traits> \
     name(const std::basic_string<Char, Traits>& s) \
     { \
         return detail::name##_type<Char, Traits>(s); \
     } \
                                                                                 \
- template<typename Char> \
- inline detail::name##_type<Char> \
+ template<typename Char> \
+ detail::name##_type<Char> \
     name(Char s[]) \
     { \
         return detail::name##_type<Char>(std::basic_string<Char>(s)); \
     } \
                                                                                 \
- template<typename Char> \
- inline detail::name##_type<Char> \
+ template<typename Char> \
+ detail::name##_type<Char> \
     name(Char const s[]) \
     { \
         return detail::name##_type<Char>(std::basic_string<Char>(s)); \
     } \
                                                                                 \
- template<typename Char> \
- inline detail::name##_type<Char> \
+ template<typename Char> \
+ detail::name##_type<Char> \
     name(Char c) \
     { \
         return detail::name##_type<Char>(std::basic_string<Char>(1, c)); \
@@ -272,7 +272,7 @@
     { \
         struct name##_tag; \
                                                                                 \
- template<typename Char, typename Traits = std::char_traits<Char> > \
+ template<typename Char, typename Traits = std::char_traits<Char> > \
         struct name##_type \
         { \
             typedef std::basic_string<Char, Traits> string_type; \
@@ -280,14 +280,14 @@
             name##_type(const string_type& d): data(d) {} \
         }; \
                                                                                 \
- template<typename Stream, typename Char, typename Traits> \
+ template<typename Stream, typename Char, typename Traits> \
         Stream& operator>>(Stream& s, const name##_type<Char,Traits>& m) \
         { \
             string_ios_manip<name##_tag, Stream>(s).set(m.data); \
             return s; \
         } \
                                                                                 \
- template<typename Stream, typename Char, typename Traits> \
+ template<typename Stream, typename Char, typename Traits> \
         Stream& operator<<(Stream& s, const name##_type<Char,Traits>& m) \
         { \
             string_ios_manip<name##_tag, Stream>(s).set(m.data); \

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -78,7 +78,7 @@
     };
 
     template<typename OS, typename Seq>
- inline void
+ void
     print_sequence(OS& os, Seq const& seq)
     {
         delimiter_out<tuple_open_tag>::print(os, "(");

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -19,7 +19,7 @@
 namespace boost { namespace fusion
 {
     template<typename Seq>
- inline std::istream&
+ std::istream&
     in(std::istream& is, Seq& seq)
     {
         BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
@@ -32,11 +32,10 @@
     namespace operators
     {
         template<typename Seq>
- inline typename
- enable_if<
- fusion::traits::is_sequence<Seq>
- , std::istream&
- >::type
+ typename enable_if<
+ fusion::traits::is_sequence<Seq>
+ , std::istream&
+ >::type
         operator>>(std::istream& is, Seq& seq)
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -3,7 +3,7 @@
     Copyright (c) 1999-2003 Jeremiah Willcock
     Copyright (c) 2001-2006 Joel de Guzman
 
- Distributed under the Boost Software License, Version 1.0. (See accompanying
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
@@ -21,7 +21,7 @@
 namespace boost { namespace fusion
 {
     template<typename Seq>
- inline std::ostream&
+ std::ostream&
     out(std::ostream& os, Seq& seq)
     {
         BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))
@@ -30,15 +30,14 @@
         detail::print_sequence(os, seq);
         return os;
     }
-
+
     namespace operators
     {
         template<typename Seq>
- inline typename
- enable_if<
- fusion::traits::is_sequence<Seq>
- , std::ostream&
- >::type
+ typename enable_if<
+ fusion::traits::is_sequence<Seq>
+ , std::ostream&
+ >::type
         operator<<(std::ostream& os, Seq const& seq)
         {
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>))

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/sequence_facade.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -12,17 +12,19 @@
 #include <boost/fusion/support/internal/facade_generation.hpp>
 #include <boost/mpl/bool.hpp>
 
+// TODO 3rd parameter?
 #define BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS \
- ((at_key, 1, 1)) \
- ((at, 1, 0)) \
- ((back, 0, 0)) \
- ((begin, 0, 0)) \
- ((empty, 0, 1)) \
- ((end, 0, 0)) \
- ((has_key, 1, 1)) \
- ((size, 0, 1)) \
- ((value_at_key, 1, 1)) \
- ((value_at, 1, 0))
+ ((at_key, 1)) \
+ ((at, 1)) \
+ ((back, 0)) \
+ ((begin, 0)) \
+ ((empty, 0)) \
+ ((end, 0)) \
+ ((has_key, 1)) \
+ ((is_segmented, 0)) \
+ ((size, 0)) \
+ ((value_at_key, 1)) \
+ ((value_at, 1))
 
 BOOST_FUSION_FACADE_DEFINE_INTRINSIC_FUNCS_WRAPPER(
     sequence_facade_tag, BOOST_FUSION_SEQUENCE_INTRINSIC_FUNCS)

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/base.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,5 +1,5 @@
 /*==============================================================================
- Copyright (c) 2010 Christopher Schmidt
+ Copyright (c) 2010-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -11,10 +11,12 @@
 #include <boost/config.hpp>
 #include <boost/detail/workaround.hpp>
 
-#if !defined(BOOST_FUSION_NO_RVALUE_REFERENCES) && \
+#ifdef BOOST_NO_RVALUE_REFERENCES
+# define BOOST_FUSION_NO_RVALUE_REFERENCES
+#elif !defined(BOOST_FUSION_NO_RVALUE_REFERENCES) && \
     BOOST_WORKAROUND(__GNUC__,==4)&& \
     BOOST_WORKAROUND(__GNUC_MINOR__,<5)
-# error The c++0x extension of your compiler is not supported!
+# error The c++11 extension of your compiler is not supported!
 #endif
 
 #include <boost/fusion/support/internal/base/config.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/facade_generation.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -20,23 +20,23 @@
 
 #define BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_WRAPPER(R, TAG, FUNC)\
     template<typename> \
- struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl); \
+ struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, FUNC),_impl); \
                                                                                 \
     template<> \
- struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl)<TAG> \
+ struct BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, FUNC),_impl)<TAG> \
     { \
         template< \
             typename T \
- BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(2, 1, FUNC)) \
             BOOST_PP_ENUM_PARAMS( \
- BOOST_PP_TUPLE_ELEM(3, 1, FUNC), typename T) \
+ BOOST_PP_TUPLE_ELEM(2, 1, FUNC), typename T) \
> \
         struct apply \
           : detail::remove_reference<T>::type:: \
- template BOOST_PP_TUPLE_ELEM(3, 0, FUNC)< \
+ template BOOST_PP_TUPLE_ELEM(2, 0, FUNC)< \
                 T \
- BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
- BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(3, 1, FUNC), T) \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(2, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(2, 1, FUNC), T) \
> \
         {}; \
     };
@@ -60,17 +60,17 @@
 #define BOOST_FUSION_DEFINE_SEQUENCE_FACADE_INTRINSIC_FUNC_FORDER(R, _, FUNC) \
     template< \
         typename T \
- BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(2, 1, FUNC)) \
         BOOST_PP_ENUM_PARAMS( \
- BOOST_PP_TUPLE_ELEM(3, 1, FUNC), typename T) \
+ BOOST_PP_TUPLE_ELEM(2, 1, FUNC), typename T) \
> \
- struct BOOST_PP_TUPLE_ELEM(3, 0, FUNC) \
- : extension::BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(3, 0, FUNC),_impl)< \
+ struct BOOST_PP_TUPLE_ELEM(2, 0, FUNC) \
+ : extension::BOOST_PP_CAT(BOOST_PP_TUPLE_ELEM(2, 0, FUNC),_impl)< \
             typename mpl::apply1<mpl::always<void_>,T>::type \
>::template apply< \
             T \
- BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(3, 1, FUNC)) \
- BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(3, 1, FUNC), T) \
+ BOOST_PP_COMMA_IF(BOOST_PP_TUPLE_ELEM(2, 1, FUNC)) \
+ BOOST_PP_ENUM_PARAMS(BOOST_PP_TUPLE_ELEM(2, 1, FUNC), T) \
> \
     {};
 

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,7 +1,7 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
     Copyright (c) 2006 Tobias Schwinger
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -16,13 +16,13 @@
 #ifndef BOOST_FUSION_NO_RVALUE_REFERENCES
 # include <boost/fusion/support/internal/is_explicitly_convertible.hpp>
 #endif
-
 #include <boost/preprocessor/empty.hpp>
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
 # include <boost/call_traits.hpp>
 #else
 # include <boost/utility/enable_if.hpp>
 #endif
+#include <iosfwd>
 
 namespace boost { namespace fusion
 {
@@ -145,8 +145,7 @@
     }
 
     template<typename First, typename Second>
- inline typename
- result_of::make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type
+ typename result_of::make_pair<First,BOOST_FUSION_R_ELSE_CLREF(Second)>::type
     make_pair(BOOST_FUSION_R_ELSE_CLREF(Second) second)
     {
         return typename result_of::make_pair<
@@ -165,18 +164,17 @@
>::type(BOOST_FUSION_FORWARD(T,t));
     }
 
- template<typename OStream, typename First, typename Second>
- inline BOOST_FUSION_R_ELSE_LREF(OStream)
- operator<<(BOOST_FUSION_R_ELSE_LREF(OStream) os,
- pair<First, Second> const& p)
+ template<typename First, typename Second>
+ std::ostream&
+ operator<<(ostream& os, pair<First, Second> const& p)
     {
         os << p.second;
         return os;
     }
 
- template<typename IStream, typename First, typename Second>
- inline BOOST_FUSION_R_ELSE_LREF(IStream)
- operator>>(BOOST_FUSION_R_ELSE_LREF(IStream) is,
+ template<typename First, typename Second>
+ std::istream&
+ operator>>(std::istream& is,
         pair<First, Second> BOOST_FUSION_R_ELSE_LREF(BOOST_PP_EMPTY()) p)
     {
         is >> static_cast<
@@ -186,7 +184,7 @@
     }
 
     template<typename First, typename SecondLhs, typename SecondRhs>
- inline bool
+ bool
     operator==(pair<First, SecondLhs> const& lhs,
             pair<First, SecondRhs> const& rhs)
     {
@@ -194,7 +192,7 @@
     }
 
     template<typename First, typename SecondLhs, typename SecondRhs>
- inline bool
+ bool
     operator!=(pair<First, SecondLhs> const& lhs,
             pair<First, SecondRhs> const& rhs)
     {

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 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2005 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -68,7 +68,7 @@
     {};
 
     template<int N, typename Tuple>
- inline typename result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Tuple), N>::type
+ typename result_of::at_c<BOOST_FUSION_R_ELSE_CLREF(Tuple), N>::type
     get(BOOST_FUSION_R_ELSE_CLREF(Tuple) tuple)
     {
         return fusion::at_c<N>(tuple);
@@ -76,8 +76,8 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<int N, typename Tuple>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
- result_of::at_c<,Tuple,&, N>)
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ result_of::at_c<,Tuple,&, N>)
     get(Tuple& tuple)
     {
         return fusion::at_c<N>(tuple);

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/repetitive_view/repetitive_view.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2007 Tobias Schwinger
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -129,8 +129,7 @@
     }
 
     template<typename Size, typename Seq>
- inline typename
- result_of::repeat<BOOST_FUSION_R_ELSE_CLREF(Seq),Size>::type
+ typename result_of::repeat<BOOST_FUSION_R_ELSE_CLREF(Seq),Size>::type
     repeat(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename result_of::repeat<
@@ -141,8 +140,8 @@
 
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename Size, typename Seq>
- inline BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
- result_of::repeat<,Seq,&, Size>)
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ result_of::repeat<,Seq,&, Size>)
     repeat(Seq& seq)
     {
         return typename result_of::repeat<Seq&,Size>::type(seq);
@@ -150,7 +149,7 @@
 #endif
 
     template<typename Seq>
- inline typename result_of::repeat<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
+ typename result_of::repeat<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type
     repeat(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
     {
         return typename result_of::repeat<BOOST_FUSION_R_ELSE_CLREF(Seq)>::type(

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/single_view/single_view.hpp 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
@@ -1,6 +1,6 @@
 /*==============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
- Copyright (c) 2009-2010 Christopher Schmidt
+ Copyright (c) 2009-2011 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -59,7 +59,7 @@
         typedef T value_type;
 
         typedef single_view_tag fusion_tag;
- typedef fusion_sequence_tag tag;
+ typedef fusion_sequence_tag tag;
         typedef random_access_traversal_tag category;
         typedef mpl::int_<1> size;
 
@@ -179,8 +179,7 @@
     }
 
     template<typename T>
- inline typename
- result_of::make_single_view<BOOST_FUSION_R_ELSE_CLREF(T)>::type
+ typename result_of::make_single_view<BOOST_FUSION_R_ELSE_CLREF(T)>::type
     make_single_view(BOOST_FUSION_R_ELSE_CLREF(T) val)
     {
         return typename result_of::make_single_view<
@@ -191,7 +190,8 @@
 #ifdef BOOST_FUSION_NO_RVALUE_REFERENCES
     template<typename T, typename Seq>
     //cschmidt: see https://svn.boost.org/trac/boost/ticket/3305
-# if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || BOOST_WORKAROUND(__GNUC__,<4)
+# if defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS) || \
+ BOOST_WORKAROUND(__GNUC__,<4)
     typename lazy_disable_if<
         is_const<T>
       , result_of::make_single_view<T&>

Deleted: sandbox/SOC/2009/fusion/libs/fusion/CMakeLists.txt
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/CMakeLists.txt 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
+++ (empty file)
@@ -1,23 +0,0 @@
-#----------------------------------------------------------------------------
-# This file was automatically generated from the original CMakeLists.txt file
-# Add a variable to hold the headers for the library
-set (lib_headers
- fusion
-)
-
-# Add a library target to the build system
-boost_library_project(
- fusion
- # SRCDIRS
- # TESTDIRS
- HEADERS ${lib_headers}
- # DOCDIRS
- DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc."
- MODULARIZED
- AUTHORS "Joel de Guzman <joel -at- boost-consulting.com>"
- "Dan Marsden <danmarsden -at- yahoo.co.uk>"
- "Tobias Schwinger <tschwinger -at- isonews2.com>"
- # MAINTAINERS
-)
-
-

Deleted: sandbox/SOC/2009/fusion/libs/fusion/todo.txt
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/todo.txt 2011-09-15 11:29:20 EDT (Thu, 15 Sep 2011)
+++ (empty file)
@@ -1,189 +0,0 @@
-===============================================================================
-Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger
-
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
-===============================================================================
-
-* Provide macros for adapting classes, similar to BOOST_FUSION_ADAPT_STRUCT
- and BOOST_FUSION_ADAPT_ASSOC_STRUCT, but with with user control over
- member accessors (e.g. get and set free functions).
-
-* Document extension::struct_size, extension::struct_member and
- extension::struct_assoc_member in extension section.
-
-* Document rationale behind at and value_at and how to choose which
- to use.
-
-* Reinstate the function object algorithms
-
-* Break all dependency cycles if there are some more
-
-* Break the view<-->algorithm dependency cycle
-
-* Improve extension docs
-
-* Document sequence/convert
-
-* Consider object equivalent of functions and algorithms (so you can do
- transform(iterators, deref()) with needing to put together a wrapper for deref).
-
-* Make algorithms work with mutable data
-
-* Consider segmented sequence / algorithm support
-
-* Consider utility element_ref<Seq,Member>::type thats consts and refs as appropriate
-
-* Improved motivation section
-
-* Expand details of view concept
-
-* Examples, examples, examples
-
-* look at lambda stuff
-
-* Complete the fusion/include/ directory containing a flat list of
- include files for all the modules and components.
-
-* The error messages when e.g. the function is not set as const are difficult
- to decipher. e.g. transform(s, f) <<- where f has a non-const operator()
-
-* mpl, fusion, container type preserving operations incompatible
- -- shall we consider container-type preserving variations of the
- functions/algorithms?
-
- How about making joint_view Concept preserving? This way push/pop/front/back
- will return a view of the same Concept. - tosh
-
-* map_tie is implemented. It seems not yet documented? - Dan: done now!
-
-* multi_set, multi_map?
-
-* why is insert_range not spelled insert_sequence ?
-
-* Document the new fusion extension mechanisms
- ->iterator_facade
- ->sequence_facade
-
-* David A:
- Wouldn't extension be a lot easier if iterator_base and sequence_base
- took (optional) 2nd arguments that specify the tag? Then you wouldn't
- need that whole dance that enables tag dispatching (right?)
-
-* David A: is_iterator isn't documented?
- JDG: There is no is_iterator ;) There is is_fusion_iterator, but it should
- probably be placed in detail.
-
-* for_each takes the function object by reference to const, so you have to
- const qualify operator() and make the data members mutable so you can change
- them anyway.
- Eric N: IMO, this is a bug in Fusion. There should be an overload of for_each
- that takes a function object by non-const reference. Stateful predicates should
- be supported, and Fusion should be explicit about where and when predicates
- are copied, so that the state doesn't get messed up.
-
-* Make Boost.parameters library's ArgumentPacks a conforming fusion sequence
-
-* Optimize container performance with typeof / compiler defect typeof. In particular
- improve the performance of the prototype deque implementation.
-
-* Deque docs if we decide we like it
-
-* Rewrite the whole extension docs section. More formal docs of extension point,
- example to use the various facade types, rather than hand coding everything.
-
-* zip optimization - Zip is rather compiler heavy, try and reduce the likelihood
- of compilers like msvc7 hitting internal compiler limits
-
-* Document the unused support added to zip for Hartmut.
-
-* Rationalize support/unused.hpp and the ignore stuff needed for tie etc.
-
-* Why do we need to set FUSION_MAX_VECTOR_SIZE when we set
- FUSION_MAX_MAP_SIZE? Setting FUSION_MAX_MAP_SIZE should be enough.
-
-tosh:
-
-* Document Incrementable / Single Pass Concepts
-* Provide infinity-aware default implementation for Incrementable Sequences
-
- Thoughts: It would probably be cleaner to have infinity conceptually
- orthogonal so there can be infinite Bidi/RA/Assoc Sequences.
- OTOH it complicates things in way that might not be worth it...
-
-* Implement always_view/always with repetitive_view<single_view<T> >
- semantics - using repetitive_view will for this purpose will be way
- too much overhead.
-
-? Functional wrappers for intrinsics/algorithms.
-
-* Rewrite functional benchmark
-
-==========================================================
-
-From the fusion review (please mark all done items):
-
-The following comments refer to issues that the library authors should
-address prior to merging the library into CVS:
-
-* Documentation: Many of the reviewers stated that they would like to
- see more tutorial documentation that demonstrates not only what the
- particular constructs in Fusion do, but also how they are expected
- to be used. A reasonably concise motivating example has been
- requested. It has already been pointed out that Fusion is used for
- some other boost libraries. A well-developed and self-contained
- case study of when and how to use Fusion would be greatly
- appreciated. The relationship between this library and the current
- Boost.Tuple library, as well as Boost.Mpl, should be discussed. The
- reference documentation is quite thorough and detailed comments
- regarding them have already been addressed by the authors. However
- the notion of "views" requires greater documentation. The
- examples in the algorithm sections currently do little more than
- demonstrate the syntax by which they can be called. Examples that
- more specifically express intent would be a notable
- improvement. (see for example Matt Austern's "Generic Programming
- and the STL"). In general the documentation would benefit from
- copy-editing.
-
-* Several commented on the use of the name "pair" for the fusion type
- that has typedefs for two types but only contains the second type.
- Although the typedefs and member names are consistent with the
- std::pair object, the name "pair" is confusing. The
- compile-time/run-time hybrid nature of this library makes it
- difficult to find perfect metaphors for constructs in the library.
- In this case, it seems better to find a term for this template (and
- the concept that it models) that more directly states its purpose.
- The name "tag_of" would also benefit from renaming.
-
-* The behavior of Fusion functions in the face of argument-dependent
- lookup (ADL) is not well specified. This should be made
- explicit in the reference documentation.
-
-The following comments refer to issues that, while not mandatory,
-deserve consideration:
-
-* The library name "Fusion", though not arbitrary, says little about
- the library's purpose. There is precedent for this within boost,
- however. A name change is not mandatory for the
- library's acceptance, but it would be worth while for the authors to
- consider a more telling name.
-
- Dan - I like the name Fusion, and there is precendent for less direct
- library names like Spirit and Xpressive in Boost. (And Boost is not
- exactly an explicit name either).
-
-* The mechanism for extending Fusion with new containers and iterators
- is complex and involves implementing a number of components,
- especially regarding iterators. An adaptation layer that is
- analogous to the Boost.Iterator library would be a fine addition to
- Fusion.
-
- Dan - Joel added iterator and container adapters, still to be documented
- as part of the improved extension docs to be done by me.
-
-* It would be beneficial to supply Boost.Serialization support for the
- Fusion container types. I am sure, as mentioned, that the authors
- of this library would accept a volunteer to implement this
- functionality.
-


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