$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r56279 - in sandbox/SOC/2009/fusion: . boost/fusion/adapted/detail/tuple boost/fusion/include
From: mr.chr.schmidt_at_[hidden]
Date: 2009-09-17 16:34:57
Author: cschmidt
Date: 2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
New Revision: 56279
URL: http://svn.boost.org/trac/boost/changeset/56279
Log:
cleanup
Added:
   sandbox/SOC/2009/fusion/boost/fusion/include/deduce.hpp   (contents, props changed)
Text files modified: 
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp          |    21 ++++++++++-----                         
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp       |     9 +-----                                  
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/category_of_impl.hpp |    10 +++++-                                  
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp       |    20 ++++++++++---                           
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp         |    12 ++++----                                
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_sequence_impl.hpp |    10 +++++-                                  
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_view_impl.hpp     |    10 +++++-                                  
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp        |    15 ++++++----                              
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp           |    56 ++++++++++++++++++++++++++++++++------- 
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp    |    12 ++++----                                
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp    |     9 +-----                                  
   sandbox/SOC/2009/fusion/build.bat                                              |     2                                         
   12 files changed, 125 insertions(+), 61 deletions(-)
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/at_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,20 +1,18 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_AT_IMPL_HPP
-
 namespace boost { namespace fusion { namespace extension
 {
     template<typename>
     struct at_impl;
 
     template <>
-    struct at_impl<boost_tuple_tag>
+    struct at_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
     {
         template <typename Seq, typename N>
         struct apply
@@ -22,7 +20,7 @@
             typedef typename
                 detail::forward_as<
                     Seq
-                  , typename tuples::element<
+                  , typename BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(element)<
                         N::value
                       , typename detail::identity<Seq>::type
                     >::type
@@ -32,10 +30,19 @@
             static type
             call(Seq seq)
             {
-                return tuples::get<N::value>(BOOST_FUSION_FORWARD(Seq,seq));
+                return
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+#   ifdef BOOST_NO_0X_HDR_TUPLE
+                    std::tr1::get<N::value>(
+#   else
+                    std::get<N::value>(
+#   endif
+#else
+                    tuples::get<N::value>(
+#endif
+                        BOOST_FUSION_FORWARD(Seq,seq));
             }
         };
     };
 }}}
 
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/begin_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -6,9 +6,6 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_BEGIN_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_BEGIN_IMPL_HPP
-
 #include <boost/fusion/iterator/basic_iterator.hpp>
 
 namespace boost { namespace fusion { namespace extension
@@ -17,14 +14,14 @@
     struct begin_impl;
 
     template <>
-    struct begin_impl<boost_tuple_tag>
+    struct begin_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
     {
         template <typename Seq>
         struct apply
         {
             typedef
                 basic_iterator<
-                    boost_tuple_iterator_tag
+                    BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG
                   , random_access_traversal_tag
                   , typename detail::add_lref<Seq>::type
                   , 0
@@ -39,5 +36,3 @@
         };
     };
 }}}
-
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/category_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/category_of_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/category_of_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,12 +1,13 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_CATEGORY_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_CATEGORY_OF_IMPL_HPP
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_TUPLE_CATEGORY_OF_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_TUPLE_CATEGORY_OF_IMPL_HPP
 
 namespace boost { namespace fusion 
 { 
@@ -26,6 +27,11 @@
                 typedef random_access_traversal_tag type;
             };
         };
+
+        template<>
+        struct category_of_impl<std_tuple_tag>
+          : category_of_impl<boost_tuple_tag>
+        {};
     }
 }}
 
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/deref_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -5,8 +5,8 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_DEREF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_DEREF_IMPL_HPP
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_TUPLE_DEREF_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_TUPLE_DEREF_IMPL_HPP
 
 namespace boost { namespace fusion { namespace extension
 {
@@ -14,7 +14,7 @@
     struct deref_impl;
 
     template <>
-    struct deref_impl<boost_tuple_iterator_tag>
+    struct deref_impl<BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG>
     {
         template <typename It>
         struct apply
@@ -24,7 +24,7 @@
             typedef typename
                 detail::forward_as<
                     typename it::seq_type
-                  , typename tuples::element<
+                  , typename BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(element)<
                         it::index::value
                       , typename detail::remove_reference<
                             typename it::seq_type
@@ -36,7 +36,17 @@
             static type
             call(It it_)
             {
-                return get<it::index::value>(*it_.seq);
+                return
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+#   ifdef BOOST_NO_0X_HDR_TUPLE
+                    std::tr1::get<it::index::value>(
+#   else
+                    std::get<it::index::value>(
+#   endif
+#else
+                    tuples::get<it::index::value>(
+#endif
+                        *it_.seq);
             }
         };
     };
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/end_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -6,9 +6,6 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_END_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_END_IMPL_HPP
-
 #include <boost/fusion/iterator/basic_iterator.hpp>
 
 namespace boost { namespace fusion { namespace extension
@@ -17,17 +14,21 @@
     struct end_impl;
 
     template <>
-    struct end_impl<boost_tuple_tag>
+    struct end_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
     {
         template <typename Seq>
         struct apply
         {
             typedef
                 basic_iterator<
-                    boost_tuple_iterator_tag
+                    BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG
                   , random_access_traversal_tag
                   , typename detail::add_lref<Seq>::type
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+                  , BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(size)<
+#else
                   , tuples::length<
+#endif
                         typename detail::identity<Seq>::type
                     >::value
                 >
@@ -42,4 +43,3 @@
     };
 }}}
 
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_sequence_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_sequence_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_sequence_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,12 +1,13 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_IS_SEQUENCE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_IS_SEQUENCE_IMPL_HPP
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_TUPLE_IS_SEQUENCE_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_TUPLE_IS_SEQUENCE_IMPL_HPP
 
 #include <boost/mpl/bool.hpp>
 
@@ -23,6 +24,11 @@
           : mpl::true_
         {};
     };
+
+    template<>
+    struct is_sequence_impl<std_tuple_tag>
+      : is_sequence_impl<boost_tuple_tag>
+    {};
 }}}
 
 #endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_view_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_view_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/is_view_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,12 +1,13 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_IS_VIEW_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_IS_VIEW_IMPL_HPP
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_TUPLE_IS_VIEW_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_TUPLE_IS_VIEW_IMPL_HPP
 
 #include <boost/mpl/bool.hpp>
 
@@ -23,6 +24,11 @@
           : mpl::false_
         {};
     };
+
+    template<>
+    struct is_view_impl<std_tuple_tag>
+      : is_view_impl<boost_tuple_tag>
+    {};
 }}}
 
 #endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/size_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,13 +1,11 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_SIZE_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_SIZE_IMPL_HPP
-
 #include <boost/mpl/int.hpp>
 
 namespace boost { namespace fusion { namespace extension
@@ -16,15 +14,20 @@
     struct size_impl;
 
     template <>
-    struct size_impl<boost_tuple_tag>
+    struct size_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
     {
         template <typename Seq>
         struct apply
           : mpl::int_<
-                tuples::length<typename detail::identity<Seq>::type>::value
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+                BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(size)<
+#else
+                tuples::length<
+#endif
+                    typename detail::identity<Seq>::type
+                >::value
             >
         {};
     };
 }}}
 
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/tag_of.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -6,21 +6,57 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_TAG_OF_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_TAG_OF_HPP
-
 #include <boost/config.hpp>
 #include <boost/fusion/support/tag_of_fwd.hpp>
 
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+#   ifdef BOOST_NO_0X_HDR_TUPLE
+#       include <boost/preprocessor/enum.hpp>
+
+#       ifndef BOOST_FUSION_STD_TR1_TUPLE_UPPER_LIMIT
+#           define BOOST_FUSION_STD_TR1_TUPLE_UPPER_LIMIT 10
+#       endif
+#   endif
+#endif
+
 namespace boost { namespace fusion 
 {
+    struct std_tuple_tag;
+    struct std_tuple_iterator_tag;
     struct boost_tuple_tag;
     struct boost_tuple_iterator_tag;
 
     namespace traits
     {
-#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
-#   define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+#ifdef BOOST_FUSION_ADAPTED_STD_TUPLE
+#   ifndef BOOST_NO_0X_HDR_TUPLE
+#       define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+        template<typename... Types>\
+        struct tag_of<std::tuple<Types...> COMBINATION>\
+        {\
+            typedef std_tuple_tag type;\
+        };
+#   else
+#       define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+        template<\
+            BOOST_PP_ENUM(BOOST_FUSION_STD_TR1_TUPLE_UPPER_LIMIT,typename T)\
+        >\
+        struct tag_of<\
+            std::tr1::tuple<\
+                BOOST_PP_ENUM(BOOST_FUSION_STD_TR1_TUPLE_UPPER_LIMIT,T)\
+            > COMBINATION>\
+        {\
+            typedef std_tuple_tag type;\
+        };
+#   endif
+
+    BOOST_FUSION_ALL_CV_REF_NON_REF_COMBINATIONS(
+            BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION,_)
+
+#   undef BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION
+#else
+#   ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
+#       define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
         template <\
             class T0, class T1, class T2, class T3, class T4, \
             class T5, class T6, class T7, class T8, class T9\
@@ -44,8 +80,8 @@
         {\
             typedef boost_tuple_tag type;\
         };
-#else
-#   define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
+#   else
+#       define BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION(COMBINATION,_)\
         template <\
             class T0, class T1, class T2, class T3, class T4, \
             class T5, class T6, class T7, class T8, class T9\
@@ -68,13 +104,13 @@
         {\
             typedef boost_tuple_tag type;\
         };
-#endif
+#   endif
 
         BOOST_FUSION_ALL_CV_REF_NON_REF_COMBINATIONS(
                 BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION,_)
 
-#undef BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION
+#   undef BOOST_FUSION_TUPLE_TAG_OF_SPECIALIZATION
+#endif
     }
 }}
 
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_at_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -1,26 +1,26 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
+    Copyright (c) 2009 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying 
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_AT_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_AT_IMPL_HPP
-
 namespace boost { namespace fusion { namespace extension
 {
     template<typename>
     struct value_at_impl;
 
     template <>
-    struct value_at_impl<boost_tuple_tag>
+    struct value_at_impl<BOOST_FUSION_ADAPTED_TUPLE_TAG>
     {
         template <typename Seq, typename N>
         struct apply
-          : tuples::element<N::value, typename detail::identity<Seq>::type>
+          : BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(element)<
+                N::value
+              , typename detail::identity<Seq>::type
+            >
         {};
     };
 }}}
 
-#endif
Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp	(original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/tuple/value_of_impl.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -5,16 +5,13 @@
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 ==============================================================================*/
 
-#ifndef BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_OF_IMPL_HPP
-#define BOOST_FUSION_ADAPTED_DETAIL_BOOST_TUPLE_VALUE_OF_IMPL_HPP
-
 namespace boost { namespace fusion { namespace extension
 {
     template <typename>
     struct value_of_impl;
 
     template <>
-    struct value_of_impl<boost_tuple_iterator_tag>
+    struct value_of_impl<BOOST_FUSION_ADAPTED_TUPLE_ITERATOR_TAG>
     {
         template <typename It>
         struct apply
@@ -22,7 +19,7 @@
             typedef typename detail::remove_reference<It>::type it;
 
             typedef typename
-                tuples::element<
+                BOOST_FUSION_ADAPTED_TUPLE_NAMESPACE(element)<
                     it::index::value
                   , typename detail::remove_reference<
                         typename it::seq_type
@@ -32,5 +29,3 @@
         };
     };
 }}}
-
-#endif
Added: sandbox/SOC/2009/fusion/boost/fusion/include/deduce.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/deduce.hpp	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -0,0 +1,13 @@
+/*=============================================================================
+    Copyright (c) 2009 Christopher Schmidt
+
+    Distributed under the Boost Software License, Version 1.0. (See accompanying
+    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_INCLUDE_DEDUCE_HPP
+#define BOOST_FUSION_INCLUDE_DEDUCE_HPP
+
+#include <boost/fusion/support/deduce.hpp>
+
+#endif
Modified: sandbox/SOC/2009/fusion/build.bat
==============================================================================
--- sandbox/SOC/2009/fusion/build.bat	(original)
+++ sandbox/SOC/2009/fusion/build.bat	2009-09-17 16:34:55 EDT (Thu, 17 Sep 2009)
@@ -22,7 +22,7 @@
             call :gcc3
         ) else (
             if "%1" == "" (
-                call :gcc4
+                call :vc9
             ) else (
                 echo Unknown toolset '%1'
                 goto :eof