Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r55632 - in sandbox/SOC/2009/fusion: . boost/fusion/adapted boost/fusion/adapted/detail/mpl boost/fusion/algorithm/iteration boost/fusion/algorithm/query boost/fusion/algorithm/query/detail boost/fusion/algorithm/transformation boost/fusion/container/detail/variadic_templates boost/fusion/container/generation/detail/variadic_templates boost/fusion/container/list boost/fusion/container/map boost/fusion/include boost/fusion/iterator boost/fusion/sequence boost/fusion/sequence/comparison boost/fusion/sequence/intrinsic boost/fusion/sequence/io boost/fusion/support boost/fusion/view/filter_view boost/fusion/view/iterator_range boost/fusion/view/joint_view boost/fusion/view/reverse_view boost/fusion/view/transform_view boost/fusion/view/zip_view libs/fusion/example/test
From: mr.chr.schmidt_at_[hidden]
Date: 2009-08-17 18:07:38


Author: cschmidt
Date: 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
New Revision: 55632
URL: http://svn.boost.org/trac/boost/changeset/55632

Log:
final cleanup
Added:
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp (contents, props changed)
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp (contents, props changed)
Removed:
   sandbox/SOC/2009/fusion/boost/fusion/include/sequence_assign.hpp
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/adapted/mpl.hpp | 2 +
   sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp | 1
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_if.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/none.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp | 3 +
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp | 16 ++++++----
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter_if.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp | 3 +
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp | 5 ++-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove_if.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp | 6 ++--
   sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp | 32 ++++++++++++++++++++--
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp | 21 ++++++-------
   sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/map_tie.hpp | 6 ++-
   sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp | 3 ++
   sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp | 3 --
   sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp | 6 +--
   sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/iterator/distance.hpp | 6 +--
   sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp | 13 +++++---
   sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp | 3 -
   sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp | 8 ++--
   sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp | 8 ----
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/sequence/io/out.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp | 58 +++++++++++++++++++++------------------
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp | 38 ++++++++++---------------
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp | 7 +++-
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp | 4 +-
   sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp | 2
   sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp | 15 +++++----
   sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp | 2
   sandbox/SOC/2009/fusion/build.bat | 6 ++--
   sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp | 9 ++++++
   78 files changed, 233 insertions(+), 200 deletions(-)

Added: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -0,0 +1,29 @@
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2005-2006 Dan Marsden
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_IS_ITERATOR_IMPL_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_MPL_IS_ITERATOR_IMPL_HPP
+
+#include <boost/mpl/bool.hpp>
+
+namespace boost { namespace fusion { namespace extension
+{
+ template<typename Tag>
+ struct is_iterator_impl;
+
+ template<>
+ struct is_iterator_impl<mpl_iterator_tag>
+ {
+ template<typename SeqRef>
+ struct apply
+ : mpl::true_
+ {};
+ };
+}}}
+
+#endif

Added: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -0,0 +1,83 @@
+// Copyright Christopher Schmidt 2009.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+#ifndef BOOST_FUSION_ADAPTED_DETAIL_MPL_TAG_OF_HPP
+#define BOOST_FUSION_ADAPTED_DETAIL_MPL_TAG_OF_HPP
+
+#include <boost/fusion/support/tag_of.hpp>
+
+#include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/or.hpp>
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/equal_to.hpp>
+#include <boost/mpl/is_sequence.hpp>
+#include <boost/utility/enable_if.hpp>
+
+namespace boost
+{
+ namespace fusion
+ {
+ struct mpl_sequence_tag;
+ struct mpl_iterator_tag;
+
+ namespace detail
+ {
+ BOOST_MPL_HAS_XXX_TRAIT_DEF(category);
+
+ template<typename T, typename Category>
+ struct category_is
+ : mpl::equal_to<typename T::category, Category>
+ {};
+ }
+
+ namespace traits
+ {
+ template<typename T>
+ struct tag_of<
+ T
+ , typename disable_if<
+ typename detail::has_fusion_tag<
+ typename detail::identity<T>::type
+ >::type
+ >::type
+ >
+ {
+ typedef typename detail::identity<T>::type identity_t;
+
+ typedef typename
+ mpl::eval_if<
+ mpl::is_sequence<identity_t>
+ , mpl::identity<mpl_sequence_tag>
+ , mpl::eval_if<
+ mpl::and_<
+ detail::has_category<identity_t>
+ , mpl::or_<
+ detail::category_is<
+ identity_t
+ , mpl::forward_iterator_tag
+ >
+ , detail::category_is<
+ identity_t
+ , mpl::bidirectional_iterator_tag
+ >
+ , detail::category_is<
+ identity_t
+ , mpl::random_access_iterator_tag
+ >
+ >
+ >
+ , mpl::identity<mpl_iterator_tag>
+ , tag_of<T, bool>
+ >
+ >::type
+ type;
+ };
+ }
+ }
+}
+
+#endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/mpl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/mpl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/mpl.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -22,11 +22,13 @@
 #include <boost/fusion/adapted/detail/mpl/end_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/equal_to_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/has_key_impl.hpp>
+#include <boost/fusion/adapted/detail/mpl/is_iterator_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/is_view_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/is_sequence_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/next_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/prior_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/size_impl.hpp>
+#include <boost/fusion/adapted/detail/mpl/tag_of.hpp>
 #include <boost/fusion/adapted/detail/mpl/value_at_impl.hpp>
 #include <boost/fusion/adapted/detail/mpl/value_of_impl.hpp>
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/std_pair.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -7,6 +7,7 @@
 #define BOOST_FUSION_ADAPTED_STD_PAIR_HPP
 
 #include <boost/fusion/adapted/struct.hpp>
+#include <boost/fusion/support/tag_of_fwd.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 
 #include <boost/mpl/int.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/accumulate.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -20,7 +20,7 @@
         struct accumulate
           : fold<Seq, State, F>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/fold.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -24,7 +24,7 @@
         template <typename Seq, typename State, typename F>
         struct fold
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/iteration/for_each.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -24,7 +24,7 @@
         template <typename Seq, typename>
         struct for_each
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef void type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/all.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -23,7 +23,7 @@
         template <typename Seq, typename>
         struct all
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef bool type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/any.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -43,7 +43,7 @@
         template <typename Seq, typename>
         struct any
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef bool type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -22,7 +22,7 @@
         template <typename Seq, typename>
         struct count
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef int type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/count_if.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -42,7 +42,7 @@
         template <typename Seq, typename>
         struct count_if
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef int type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/detail/count.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -34,7 +34,7 @@
     {
         template <typename T1, typename T2>
         static bool
- call(BOOST_FUSION_R_ELSE_CLREF(T1), BOOST_FUSION_R_ELSE_CLREF(T2))
+ call(BOOST_FUSION_R_ELSE_CLREF(T1) x, BOOST_FUSION_R_ELSE_CLREF(T2) y)
         {
             return false;
         }

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -27,7 +27,7 @@
         template <typename Seq, typename T>
         struct find
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -29,7 +29,7 @@
         template <typename Seq, typename Pred>
         struct find_if
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/query/find_key.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,7 +26,7 @@
         template <typename Seq, typename T>
         struct find_key
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -20,7 +20,7 @@
         template <typename Seq, typename F>
         struct none
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef bool type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/clear.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -14,6 +14,7 @@
 #else
 # include <boost/fusion/container/vector/vector10.hpp>
 #endif
+#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
@@ -31,7 +32,7 @@
           : convert<typename traits::tag_of<Seq>::type, vector<> >
 #endif
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -72,17 +72,19 @@
>
         struct erase
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<First>));
+ BOOST_FUSION_MPL_ASSERT((detail::is_in_seq<First, Seq>));
+ BOOST_FUSION_MPL_ASSERT((
+ detail::is_in_range<
+ Last
+ , First
+ , typename result_of::end<Seq>::type
+ >));
 
             typedef typename begin<Seq>::type seq_first_type;
             typedef typename end<Seq>::type seq_last_type;
-
- BOOST_FUSION_MPL_ASSERT(
- (detail::is_in_range<First,seq_first_type,seq_last_type>));
- BOOST_FUSION_MPL_ASSERT(
- (detail::is_in_range<Last,First,seq_last_type>));
-
             typedef
                 iterator_range<
                     seq_first_type

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/erase_key.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -31,7 +31,7 @@
         template <typename Seq, typename Key>
         struct erase_key
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<Seq>));
             BOOST_FUSION_MPL_ASSERT((has_key<Seq,Key>));
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/filter.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -25,7 +25,7 @@
         struct filter
           : filter_if<Seq, is_same<mpl::_1, T> >
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -20,7 +20,7 @@
         template <typename Seq, typename Pred>
         struct filter_if
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef filter_view<Seq, Pred> type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -27,8 +27,9 @@
                   single_view<typename detail::as_fusion_element<T>::type>)
>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Pos>));
             BOOST_FUSION_MPL_ASSERT((detail::is_in_seq<Pos, Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/insert_range.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,10 +26,11 @@
         template <typename Seq, typename Pos, typename Range>
         struct insert_range
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Pos>));
             BOOST_FUSION_MPL_ASSERT((detail::is_in_seq<Pos, Seq>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Range>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Range>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Range>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/join.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -22,9 +22,9 @@
         template<typename Seq1, typename Seq2>
         struct join
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             typedef joint_view<Seq1,Seq2> type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_back.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -25,7 +25,7 @@
         template <typename Seq>
         struct pop_back
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>));
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/pop_front.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -25,7 +25,7 @@
         template <typename Seq>
         struct pop_front
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>));
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_back.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -21,7 +21,7 @@
         template <typename Seq, typename T>
         struct push_back
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/push_front.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -21,7 +21,7 @@
         template <typename Seq, typename T>
         struct push_front
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/remove.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -25,7 +25,7 @@
         struct remove
           : remove_if<Seq, is_same<mpl::_1, T> >
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -22,7 +22,7 @@
         template <typename Seq, typename Pred>
         struct remove_if
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef filter_view<Seq, mpl::not_<Pred> > type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -56,7 +56,7 @@
         template <typename Seq, typename T>
         struct replace
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/replace_if.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -21,7 +21,7 @@
         template <typename Seq, typename F, typename NewValue>
         struct replace_if
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/reverse.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -19,7 +19,7 @@
         template <typename Seq>
         struct reverse
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef reverse_view<Seq> type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/algorithm/transformation/transform.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -23,9 +23,9 @@
         template <typename Seq1, typename Seq2, typename F = void_>
         struct transform
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             typedef transform_view<Seq1,Seq2,F> type;
@@ -38,7 +38,7 @@
         struct transform<Seq, F>
 #endif
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef transform_view<Seq, F> type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/detail/variadic_templates/as_seq.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -3,29 +3,55 @@
 // (See accompanying file LICENSE_1_0.txt or copy at
 // http://www.boost.org/LICENSE_1_0.txt)
 
+//cschmidt: to avoid cyclic references - as some of the (here unneeded) mpl
+//sequence modification metafunctions might instantiate result_of::as_xxx - just
+//include the relevant /fusion/mpl/ headers.
+#include <boost/fusion/support/category_of.hpp>
+
+#include <boost/fusion/mpl/at.hpp>
+#include <boost/fusion/mpl/back.hpp>
 #include <boost/fusion/mpl/begin.hpp>
+#include <boost/fusion/mpl/empty.hpp>
 #include <boost/fusion/mpl/end.hpp>
+#include <boost/fusion/mpl/front.hpp>
+#include <boost/fusion/mpl/size.hpp>
+
 #include <boost/fusion/support/internal/variadic_templates/variadic_quote.hpp>
-#include <boost/fusion/support/internal/variadic_templates/to_random_access_mpl_seq.hpp>
 
+#include <boost/mpl/identity.hpp>
+#include <boost/mpl/eval_if.hpp>
+#include <boost/mpl/fold.hpp>
+#include <boost/mpl/quote.hpp>
+#include <boost/mpl/vector.hpp>
+#include <boost/mpl/push_back.hpp>
 #include <boost/mpl/apply.hpp>
 #include <boost/mpl/unpack_args.hpp>
 
 namespace boost { namespace fusion { namespace detail
 {
+
     template<typename SeqRef>
     struct BOOST_PP_CAT(BOOST_PP_CAT(as_,BOOST_FUSION_SEQ_NAME),_impl)
     {
         struct apply
         {
+ typedef typename detail::remove_reference<SeqRef>::type seq;
+
             typedef typename
                 mpl::apply<
                     mpl::unpack_args<variadic_quote<BOOST_FUSION_SEQ_NAME> >
- , typename to_random_access_mpl_seq<
- typename remove_reference<SeqRef>::type
+ , typename mpl::eval_if<
+ traits::is_random_access<SeqRef>
+ , mpl::identity<seq>
+ , mpl::fold<
+ seq
+ , mpl::vector0<>
+ , mpl::quote2<mpl::push_back>
+ >
>::type
>::type
             type;
         };
     };
 }}}
+

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/generation/detail/variadic_templates/make_map.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -34,19 +34,18 @@
             typedef typename
                 detail::variadic_arguments_to_vector<KeysTypes...>::type
             args;
+ typedef typename mpl::begin<args>::type args_begin;
             typedef typename
+ mpl::advance<
+ args_begin
+ , mpl::divides<mpl::size<args>, mpl::int_<2> >
+ >::type
+ args_middle;
+
+ typedef mpl::iterator_range<args_begin, args_middle> keys;
+ typedef
                 mpl::iterator_range<
- typename mpl::begin<args>::type
- , typename mpl::advance<typename mpl::begin<args>::type
- , mpl::divides<mpl::size<args>, mpl::int_<2> > >::type
- >
- keys;
- typedef typename
- mpl::iterator_range<
- typename mpl::advance<
- typename mpl::begin<args>::type
- , mpl::divides<mpl::size<args>, mpl::int_<2> >
- >::type
+ args_middle
                   , typename mpl::end<args>::type
>
             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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -37,8 +37,10 @@
             typedef typename
                 mpl::iterator_range<
                     typename mpl::begin<args>::type
- , typename mpl::advance<typename mpl::begin<args>::type
- , mpl::divides<mpl::size<args>, mpl::int_<2> > >::type
+ , typename mpl::advance<
+ typename mpl::begin<args>::type
+ , mpl::divides<mpl::size<args>, mpl::int_<2> >
+ >::type
>
             keys;
             typedef typename

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/convert.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -9,6 +9,7 @@
 #define BOOST_FUSION_CONTAINER_LIST_CONVERT_HPP
 
 #include <boost/fusion/container/list/list.hpp>
+#include <boost/fusion/container/list/cons.hpp>
 
 #define BOOST_FUSION_SEQ_NAME list
 #define BOOST_FUSION_MAX_SEQ_SIZE FUSION_MAX_LIST_SIZE
@@ -16,4 +17,6 @@
 #undef BOOST_FUSION_MAX_SEQ_SIZE
 #undef BOOST_FUSION_SEQ_NAME
 
+#include <boost/fusion/container/list/detail/cons/convert_impl.hpp>
+
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/map/map.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -27,9 +27,6 @@
 namespace boost { namespace fusion
 {
     struct fusion_sequence_tag;
-#ifndef BOOST_NO_VARIADIC_TEMPLATES
- struct void_;
-#endif
 
     VARIADIC_TEMPLATE(FUSION_MAX_MAP_SIZE)
     struct map

Deleted: sandbox/SOC/2009/fusion/boost/fusion/include/sequence_assign.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/include/sequence_assign.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
+++ (empty file)
@@ -1,11 +0,0 @@
-// Copyright Christopher Schmidt 2009.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-#ifndef BOOST_FUSION_INCLUDE_SEQUENCE_ASSIGN_HPP
-#define BOOST_FUSION_INCLUDE_SEQUENCE_ASSIGN_HPP
-
-#include <boost/fusion/support/internal/sequence_assign.hpp>
-
-#endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/advance.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -53,8 +53,7 @@
                   , mpl::int_<N>
>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
             BOOST_FUSION_STATIC_ASSERT((
                     N>=0 ||
                     traits::is_bidirectional<It>::value));
@@ -66,8 +65,7 @@
           : extension::advance_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type, N>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
             BOOST_FUSION_STATIC_ASSERT((
                     N::value>=0 ||
                     traits::is_bidirectional<It>::value));

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -39,8 +39,7 @@
           : extension::deref_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
         };
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/deref_data.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -39,7 +39,7 @@
           : extension::deref_data_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -49,10 +49,8 @@
                   , typename detail::add_lref<Last>::type
>::type
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<First>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<First>));
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Last>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<Last>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<First>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Last>));
         };
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/equal_to.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -15,6 +15,8 @@
 #include <boost/mpl/and.hpp>
 #include <boost/utility/enable_if.hpp>
 
+//TODO constexpr
+
 namespace boost { namespace fusion
 {
     struct iterator_facade_tag;
@@ -45,10 +47,8 @@
                   , typename detail::add_lref<It2>::type
>::type
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It1>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It1>));
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It2>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It2>));
         };
     }
 
@@ -68,7 +68,10 @@
         template <typename It1, typename It2>
         inline typename
             enable_if<
- mpl::and_<traits::is_iterator<It1>, traits::is_iterator<It2> >
+ mpl::and_<
+ traits::is_iterator<It1>
+ , traits::is_iterator<It2>
+ >
               , bool
>::type
         operator!=(It1 const&, It1 const&)

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/key_of.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -38,7 +38,7 @@
           : extension::key_of_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<It>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/next.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -37,8 +37,7 @@
           : extension::next_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
         };
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/prior.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -37,8 +37,7 @@
           : extension::prior_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_bidirectional<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
         };
     }
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -37,8 +37,7 @@
           : extension::value_of_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
- BOOST_FUSION_MPL_ASSERT((traits::is_forward<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
         };
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/iterator/value_of_data.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -38,7 +38,7 @@
           : extension::value_of_data_impl<typename traits::tag_of<It>::type>::
                 template apply<typename detail::add_lref<It>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<It>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<It>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/equal_to.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -23,9 +23,9 @@
     inline bool
     equal_to(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
         return
@@ -47,9 +47,9 @@
>::type
         operator==(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::equal_to(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,9 +26,9 @@
     inline bool
     greater(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
 #ifdef FUSION_DIRECT_OPERATOR_USAGE
@@ -52,9 +52,9 @@
>::type
         operator>(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::greater(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/greater_equal.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,9 +26,9 @@
     inline bool
     greater_equal(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
 #ifdef FUSION_DIRECT_OPERATOR_USAGE
@@ -52,9 +52,9 @@
>::type
         operator>=(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::greater_equal(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -22,9 +22,9 @@
     inline bool
     less(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
         return
@@ -44,9 +44,9 @@
>::type
         operator<(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::less(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/less_equal.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,9 +26,9 @@
     inline bool
     less_equal(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
 #ifdef FUSION_DIRECT_OPERATOR_USAGE
@@ -81,9 +81,9 @@
>::type
         operator<=(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::less_equal(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/comparison/not_equal_to.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,9 +26,9 @@
     inline bool
     not_equal_to(Seq1 const& seq1, Seq2 const& seq2)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
 #ifdef FUSION_DIRECT_OPERATOR_USAGE
@@ -54,9 +54,9 @@
>::type
         operator!=(Seq1 const& seq1, Seq2 const& seq2)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
             return fusion::not_equal_to(seq1, seq2);

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/convert.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -13,15 +13,9 @@
 #include <boost/fusion/support/internal/ref.hpp>
 #include <boost/fusion/support/internal/assert.hpp>
 
-#include <boost/mpl/always.hpp>
-#include <boost/mpl/apply.hpp>
-
-//TODO in /sequence/intrisic/ or /container/?
 //TODO doc!!!
 namespace boost { namespace fusion
 {
- struct void_;
-
     namespace extension
     {
         template <typename Tag>
@@ -46,7 +40,7 @@
         template <typename Tag, typename Seq>
         struct convert
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             typedef typename extension::convert_impl<Tag> gen;

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -49,7 +49,7 @@
           : extension::at_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type, N>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((
                 mpl::or_<
                     traits::is_random_access<Seq>
@@ -66,7 +66,7 @@
         struct at_c
           : at<Seq, mpl::int_<N> >
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((
                 mpl::or_<
                     traits::is_random_access<Seq>

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/at_key.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -63,7 +63,7 @@
             : extension::at_key_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type, Key>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<Seq>));
             BOOST_FUSION_MPL_ASSERT((has_key<Seq,Key>));
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/back.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -29,7 +29,7 @@
         struct back
           : deref<typename prior<typename end<Seq>::type>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>));
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/begin.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -38,7 +38,7 @@
             : extension::begin_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/empty.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -47,7 +47,7 @@
           : extension::empty_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type>::type
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/front.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -28,7 +28,7 @@
         struct front
           : deref<typename begin<Seq>::type>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
             BOOST_FUSION_MPL_ASSERT_NOT((empty<Seq>));
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/has_key.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -55,7 +55,7 @@
           : extension::has_key_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type, Key>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/size.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -47,7 +47,7 @@
           : extension::size_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type>::type
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/swap.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -46,9 +46,9 @@
         template<typename Seq1, typename Seq2>
         struct swap
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
             BOOST_FUSION_STATIC_ASSERT((size<Seq1>::value==size<Seq2>::value));
 

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -49,7 +49,7 @@
           : extension::value_at_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type, N>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((
                 mpl::or_<
                     traits::is_random_access<Seq>
@@ -66,7 +66,7 @@
         struct value_at_c
           : result_of::value_at<Seq,mpl::int_<N> >
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((
                 mpl::or_<
                     traits::is_random_access<Seq>

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/intrinsic/value_at_key.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -58,7 +58,7 @@
           : extension::value_at_key_impl<typename traits::tag_of<Seq>::type>::
                 template apply<typename detail::add_lref<Seq>::type, Key>
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_associative<Seq>));
             BOOST_FUSION_MPL_ASSERT((has_key<Seq,Key>));
         };

Modified: sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/sequence/io/in.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -23,7 +23,7 @@
     inline std::istream&
     in(std::istream& is, Seq& seq)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
         detail::read_sequence(is, seq);
@@ -40,7 +40,7 @@
>::type
         operator>>(std::istream& is, Seq& seq)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             return fusion::in(is, 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 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -26,7 +26,7 @@
     inline std::ostream&
     out(std::ostream& os, Seq& seq)
     {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
         detail::print_sequence(os, seq);
@@ -43,7 +43,7 @@
>::type
         operator<<(std::ostream& os, Seq const& seq)
         {
- //BOOST_FUSION_MPL_ASSERT((traits_is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
             BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
             return fusion::out(os, seq);

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/sequence_base.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -11,38 +11,42 @@
 
 #include <boost/mpl/begin_end_fwd.hpp>
 
-namespace boost { namespace fusion
+namespace boost
 {
- struct sequence_root
- {};
-
- template <typename Seq>
- struct sequence_base
- : sequence_root
+ namespace fusion
     {
- Seq const&
- derived() const
- {
- return static_cast<Seq const&>(*this);
- }
+ struct sequence_root
+ {};
 
- Seq&
- derived()
+ template <typename Seq>
+ struct sequence_base
+ : sequence_root
         {
- return static_cast<Seq&>(*this);
- }
- };
+ Seq const&
+ derived() const
+ {
+ return static_cast<Seq const&>(*this);
+ }
+
+ Seq&
+ derived()
+ {
+ return static_cast<Seq&>(*this);
+ }
+ };
 
- struct fusion_sequence_tag;
-}}
+ struct fusion_sequence_tag;
+ }
 
-namespace boost { namespace mpl
-{
- // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence
- // is not an MPL sequence by returning mpl::void_.
- // In other words: Fusion Sequences are always MPL Sequences, but they can
- // be incompletely defined.
- template<> struct begin_impl< boost::fusion::fusion_sequence_tag >;
-}}
+ namespace mpl
+ {
+ // Deliberately break mpl::begin, so it doesn't lie that a Fusion
+ // sequence is not an MPL sequence by returning mpl::void_.
+ // In other words: Fusion Sequences are always MPL Sequences, but they
+ // can be incompletely defined.
+ template<>
+ struct begin_impl<fusion::fusion_sequence_tag>;
+ }
+}
 
 #endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -1,9 +1,7 @@
-/*=============================================================================
- Copyright (c) 2001-2006 Joel de Guzman
-
- Distributed under the Boost Software License, Version 1.0. (See accompanying
- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
-==============================================================================*/
+// Copyright Christopher Schmidt 2009.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
 
 #ifndef BOOST_FUSION_SUPPORT_TAG_OF_HPP
 #define BOOST_FUSION_SUPPORT_TAG_OF_HPP
@@ -11,44 +9,38 @@
 #include <boost/fusion/support/tag_of_fwd.hpp>
 #include <boost/fusion/support/internal/ref.hpp>
 
-#include <boost/mpl/is_sequence.hpp>
 #include <boost/mpl/eval_if.hpp>
-#include <boost/mpl/if.hpp>
+#include <boost/mpl/identity.hpp>
 #include <boost/mpl/has_xxx.hpp>
 
 namespace boost { namespace fusion
 {
- struct mpl_sequence_tag;
- struct mpl_iterator_tag;
+ struct non_fusion_tag;
 
     namespace detail
     {
- BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag)
+ BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag);
 
- template <typename Seq>
+ template<typename IdentityT>
         struct get_fusion_tag
         {
- typedef typename Seq::fusion_tag type;
+ typedef typename IdentityT::fusion_tag type;
         };
     }
 
     namespace traits
     {
- template <typename Seq>
+ template <typename T, typename Dummy>
         struct tag_of
         {
- typedef typename detail::identity<Seq>::type seq;
+ typedef typename detail::identity<T>::type identity_t;
 
             typedef typename
                 mpl::eval_if<
- detail::has_fusion_tag<seq>
- , detail::get_fusion_tag<seq>
- , mpl::if_<
- mpl::is_sequence<seq>
- , mpl_sequence_tag
- , mpl_iterator_tag
- >
- >::type
+ detail::has_fusion_tag<identity_t>
+ , detail::get_fusion_tag<identity_t>
+ , mpl::identity<non_fusion_tag>
+ >::type
             type;
         };
     }

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -14,7 +14,7 @@
 {
     namespace traits
     {
- template<typename Seq>
+ template<typename Seq, typename Dummy=void>
         struct tag_of;
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/filter_view.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -43,7 +43,7 @@
     struct filter_view
       : sequence_base<filter_view<Seq, Pred> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
         typedef detail::view_storage<Seq> storage_type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/iterator_range/iterator_range.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -18,6 +18,9 @@
 #include <boost/mpl/bool.hpp>
 #include <boost/mpl/inherit.hpp>
 #include <boost/mpl/identity.hpp>
+#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
+# include <boost/type_traits/is_same.hpp>
+#endif
 
 #include <boost/fusion/view/iterator_range/detail/iterator_range_fwd.hpp>
 #include <boost/fusion/view/iterator_range/detail/begin_impl.hpp>
@@ -34,9 +37,9 @@
     struct iterator_range
       : sequence_base<iterator_range<First, Last> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<First>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<First>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<First>));
- //BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Last>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_iterator<Last>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Last>));
 
         typedef First begin_type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/joint_view.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -45,9 +45,9 @@
     struct joint_view
       : sequence_base<joint_view<Seq1, Seq2> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
 
         typedef detail::view_storage<Seq1> storage1_type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/reverse_view/reverse_view.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -46,7 +46,7 @@
     struct reverse_view
       : sequence_base<reverse_view<Seq> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         BOOST_FUSION_MPL_ASSERT((traits::is_bidirectional<Seq>));
 
         typedef detail::view_storage<Seq> storage_type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/transform_view/transform_view.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -28,6 +28,9 @@
 #include <boost/mpl/inherit.hpp>
 #include <boost/mpl/identity.hpp>
 #include <boost/mpl/bool.hpp>
+#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
+# include <boost/mpl/equal_to.hpp>
+#endif
 #include <boost/call_traits.hpp>
 
 #include <boost/fusion/view/transform_view/transform_view_fwd.hpp>
@@ -57,14 +60,12 @@
     struct transform_view
       : sequence_base<transform_view<Seq1, Seq2, F,IsAssociative> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq1>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq1>));
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq2>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq2>));
-
- //BOOST_FUSION_MPL_ASSERT_RELATION(
- // result_of::size<Sequence1>,==,result_of::size<Sequence2>,
- // "both sequences must have the same length");
+ BOOST_FUSION_MPL_ASSERT((
+ mpl::equal_to<result_of::size<Seq1>,result_of::size<Seq1> >));
 
         typedef detail::view_storage<Seq1> storage1_type;
         typedef typename storage1_type::type seq1_type;
@@ -140,7 +141,7 @@
     struct unary_transform_view
       : sequence_base<unary_transform_view<Seq, F, void_> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seq>));
 
         typedef detail::view_storage<Seq> storage_type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/zip_view/zip_view.hpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -138,7 +138,7 @@
     struct zip_view
       : sequence_base< zip_view<Seqs> >
     {
- //BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seqs>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seqs>));
         BOOST_FUSION_MPL_ASSERT((traits::is_forward<Seqs>));
 
         typedef typename

Modified: sandbox/SOC/2009/fusion/build.bat
==============================================================================
--- sandbox/SOC/2009/fusion/build.bat (original)
+++ sandbox/SOC/2009/fusion/build.bat 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -16,7 +16,7 @@
         call :msvc
     ) else (
         if "%1" == "" (
- call :msvc
+ call :gcc
         ) else (
             echo Unknown toolset '%1'
             goto :eof
@@ -29,8 +29,8 @@
 goto :eof
 
 :gcc
-set PATH=C:\MinGW3\bin;%PATH%
-rem set PATH=C:\MinGW\bin;%PATH%
+set PATH=C:\Program Files (x86)\MinGWOld\bin;%PATH%
+rem set PATH=C:\Program Files (x86)\MinGW\bin;%PATH%
 set TOOLSET=gcc
 goto :eof
 

Modified: sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp
==============================================================================
--- sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp (original)
+++ sandbox/SOC/2009/fusion/libs/fusion/example/test/main.cpp 2009-08-17 18:07:31 EDT (Mon, 17 Aug 2009)
@@ -15,6 +15,7 @@
 #include <boost/fusion/adapted.hpp>
 #include <boost/fusion/tuple.hpp>
 #include <boost/fusion/support.hpp>
+#include <boost/fusion/functional.hpp>
 
 #include <boost/mpl/placeholders.hpp>
 
@@ -121,6 +122,14 @@
 int main()
 {
     {
+ using namespace fusion;
+
+ static_assert(std::is_same<traits::tag_of<int>::type,non_fusion_tag>::value,"");
+ static_assert(std::is_same<traits::tag_of<boost::mpl::vector<> >::type,mpl_sequence_tag>::value,"");
+ static_assert(std::is_same<traits::tag_of<boost::mpl::begin<boost::mpl::vector<> >::type>::type,mpl_iterator_tag>::value,"");
+ }
+
+ {
         using namespace fusion::result_of;
 
         static_assert(std::is_same<deref<begin<vec>::type>::type,char&>::value,"");


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