Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r59576 - in trunk: boost/fusion/adapted boost/fusion/include boost/fusion/iterator boost/fusion/sequence/intrinsic boost/fusion/support boost/fusion/support/ext_ libs/fusion/test libs/fusion/test/sequence
From: mr.chr.schmidt_at_[hidden]
Date: 2010-02-07 13:22:08


Author: cschmidt
Date: 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
New Revision: 59576
URL: http://svn.boost.org/trac/boost/changeset/59576

Log:
adapt plain old array types (1)
Added:
   trunk/boost/fusion/adapted/boost_array.hpp (contents, props changed)
   trunk/boost/fusion/include/boost_array.hpp (contents, props changed)
   trunk/libs/fusion/test/sequence/boost_array.cpp
      - copied, changed from r59538, /trunk/libs/fusion/test/sequence/array.cpp
Removed:
   trunk/libs/fusion/test/sequence/array.cpp
Text files modified:
   trunk/boost/fusion/adapted/array.hpp | 23 ++++++++++++++---------
   trunk/boost/fusion/iterator/advance.hpp | 4 ++--
   trunk/boost/fusion/iterator/basic_iterator.hpp | 15 ++++++++++-----
   trunk/boost/fusion/iterator/deref.hpp | 4 ++--
   trunk/boost/fusion/iterator/distance.hpp | 8 ++++----
   trunk/boost/fusion/iterator/equal_to.hpp | 4 ++--
   trunk/boost/fusion/iterator/next.hpp | 4 ++--
   trunk/boost/fusion/iterator/prior.hpp | 4 ++--
   trunk/boost/fusion/iterator/value_of.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/at.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/at_key.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/begin.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/end.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/has_key.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/size.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/value_at.hpp | 4 ++--
   trunk/boost/fusion/sequence/intrinsic/value_at_key.hpp | 4 ++--
   trunk/boost/fusion/support/category_of.hpp | 4 ++--
   trunk/boost/fusion/support/ext_/is_segmented.hpp | 2 +-
   trunk/boost/fusion/support/is_sequence.hpp | 4 ++--
   trunk/boost/fusion/support/is_view.hpp | 4 ++--
   trunk/libs/fusion/test/Jamfile | 1 +
   trunk/libs/fusion/test/sequence/boost_array.cpp | 10 ++--------
   23 files changed, 66 insertions(+), 61 deletions(-)

Modified: trunk/boost/fusion/adapted/array.hpp
==============================================================================
--- trunk/boost/fusion/adapted/array.hpp (original)
+++ trunk/boost/fusion/adapted/array.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2010 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,15 +9,19 @@
 #if !defined(BOOST_FUSION_ARRAY_27122005_1035)
 #define BOOST_FUSION_ARRAY_27122005_1035
 
-#include <boost/fusion/adapted/array/array_iterator.hpp>
+//For backwards compatibility
+#include <boost/fusion/adapted/boost_array.hpp>
+
 #include <boost/fusion/adapted/array/tag_of.hpp>
-#include <boost/fusion/adapted/array/detail/is_view_impl.hpp>
-#include <boost/fusion/adapted/array/detail/is_sequence_impl.hpp>
-#include <boost/fusion/adapted/array/detail/category_of_impl.hpp>
-#include <boost/fusion/adapted/array/detail/begin_impl.hpp>
-#include <boost/fusion/adapted/array/detail/end_impl.hpp>
-#include <boost/fusion/adapted/array/detail/size_impl.hpp>
-#include <boost/fusion/adapted/array/detail/at_impl.hpp>
-#include <boost/fusion/adapted/array/detail/value_at_impl.hpp>
+#include <boost/fusion/adapted/array/is_view_impl.hpp>
+#include <boost/fusion/adapted/array/is_sequence_impl.hpp>
+#include <boost/fusion/adapted/array/category_of_impl.hpp>
+#include <boost/fusion/adapted/array/begin_impl.hpp>
+#include <boost/fusion/adapted/array/end_impl.hpp>
+#include <boost/fusion/adapted/array/size_impl.hpp>
+#include <boost/fusion/adapted/array/at_impl.hpp>
+#include <boost/fusion/adapted/array/value_at_impl.hpp>
+#include <boost/fusion/adapted/array/deref_impl.hpp>
+#include <boost/fusion/adapted/array/value_of_impl.hpp>
 
 #endif

Added: trunk/boost/fusion/adapted/boost_array.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/fusion/adapted/boost_array.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -0,0 +1,22 @@
+/*=============================================================================
+ 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)
+==============================================================================*/
+#if !defined(BOOST_FUSION_BOOST_ARRAY_27122005_1035)
+#define BOOST_FUSION_BOOST_ARRAY_27122005_1035
+
+#include <boost/fusion/adapted/boost_array/array_iterator.hpp>
+#include <boost/fusion/adapted/boost_array/tag_of.hpp>
+#include <boost/fusion/adapted/boost_array/detail/is_view_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/category_of_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/begin_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/end_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/size_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/at_impl.hpp>
+#include <boost/fusion/adapted/boost_array/detail/value_at_impl.hpp>
+
+#endif

Added: trunk/boost/fusion/include/boost_array.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/fusion/include/boost_array.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -0,0 +1,12 @@
+/*=============================================================================
+ Copyright (c) 2010 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(FUSION_INCLUDE_BOOST_ARRAY)
+#define FUSION_INCLUDE_BOOST_ARRAY
+
+#include <boost/fusion/adapted/boost_array.hpp>
+
+#endif

Modified: trunk/boost/fusion/iterator/advance.hpp
==============================================================================
--- trunk/boost/fusion/iterator/advance.hpp (original)
+++ trunk/boost/fusion/iterator/advance.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -21,7 +21,7 @@
         
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -51,7 +51,7 @@
         };
 
         template <>
- struct advance_impl<array_iterator_tag>;
+ struct advance_impl<boost_array_iterator_tag>;
 
         template <>
         struct advance_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/iterator/basic_iterator.hpp
==============================================================================
--- trunk/boost/fusion/iterator/basic_iterator.hpp (original)
+++ trunk/boost/fusion/iterator/basic_iterator.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -95,11 +95,16 @@
 
         template <typename It1, typename It2>
         struct distance
- : mpl::minus<
- typename It2::index
- , typename It1::index
- >
- {};
+ {
+ typedef mpl::minus<typename It2::index, typename It1::index> type;
+
+ static
+ type
+ call(It1 const&, It2 const&)
+ {
+ return type();
+ }
+ };
 
         template <typename It1, typename It2>
         struct equal_to

Modified: trunk/boost/fusion/iterator/deref.hpp
==============================================================================
--- trunk/boost/fusion/iterator/deref.hpp (original)
+++ trunk/boost/fusion/iterator/deref.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -14,7 +14,7 @@
 {
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -35,7 +35,7 @@
        };
 
         template <>
- struct deref_impl<array_iterator_tag>;
+ struct deref_impl<boost_array_iterator_tag>;
 
         template <>
         struct deref_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/iterator/distance.hpp
==============================================================================
--- trunk/boost/fusion/iterator/distance.hpp (original)
+++ trunk/boost/fusion/iterator/distance.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -22,7 +22,7 @@
 
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -48,7 +48,7 @@
         };
 
         template <>
- struct distance_impl<array_iterator_tag>;
+ struct distance_impl<boost_array_iterator_tag>;
 
         template <>
         struct distance_impl<mpl_iterator_tag>;
@@ -61,8 +61,8 @@
     {
         template <typename First, typename Last>
         struct distance
- : extension::distance_impl<typename detail::tag_of<First>::type>::
- template apply<First, Last>
+ : extension::distance_impl<typename detail::tag_of<First>::type>::
+ template apply<First, Last>
         {
             typedef typename extension::distance_impl<typename detail::tag_of<First>::type>::
             template apply<First, Last>::type distance_application;

Modified: trunk/boost/fusion/iterator/equal_to.hpp
==============================================================================
--- trunk/boost/fusion/iterator/equal_to.hpp (original)
+++ trunk/boost/fusion/iterator/equal_to.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -18,7 +18,7 @@
 {
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -42,7 +42,7 @@
         };
 
         template <>
- struct equal_to_impl<array_iterator_tag>;
+ struct equal_to_impl<boost_array_iterator_tag>;
 
         template <>
         struct equal_to_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/iterator/next.hpp
==============================================================================
--- trunk/boost/fusion/iterator/next.hpp (original)
+++ trunk/boost/fusion/iterator/next.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -13,7 +13,7 @@
 {
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -34,7 +34,7 @@
         };
 
         template <>
- struct next_impl<array_iterator_tag>;
+ struct next_impl<boost_array_iterator_tag>;
 
         template <>
         struct next_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/iterator/prior.hpp
==============================================================================
--- trunk/boost/fusion/iterator/prior.hpp (original)
+++ trunk/boost/fusion/iterator/prior.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -13,7 +13,7 @@
 {
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -34,7 +34,7 @@
         };
 
         template <>
- struct prior_impl<array_iterator_tag>;
+ struct prior_impl<boost_array_iterator_tag>;
 
         template <>
         struct prior_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/iterator/value_of.hpp
==============================================================================
--- trunk/boost/fusion/iterator/value_of.hpp (original)
+++ trunk/boost/fusion/iterator/value_of.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -14,7 +14,7 @@
 {
     // Special tags:
     struct iterator_facade_tag; // iterator facade tag
- struct array_iterator_tag; // boost::array iterator tag
+ struct boost_array_iterator_tag; // boost::array iterator tag
     struct mpl_iterator_tag; // mpl sequence iterator tag
     struct std_pair_iterator_tag; // std::pair iterator tag
 
@@ -35,7 +35,7 @@
         };
 
         template <>
- struct value_of_impl<array_iterator_tag>;
+ struct value_of_impl<boost_array_iterator_tag>;
 
         template <>
         struct value_of_impl<mpl_iterator_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/at.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/at.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/at.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -17,7 +17,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -41,7 +41,7 @@
         struct at_impl<boost_tuple_tag>;
 
         template <>
- struct at_impl<array_tag>;
+ struct at_impl<boost_array_tag>;
 
         template <>
         struct at_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/at_key.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/at_key.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/at_key.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -18,7 +18,7 @@
 {
     // Special tags:
     struct sequence_facade_tag;
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -52,7 +52,7 @@
         };
 
         template <>
- struct at_key_impl<array_tag>;
+ struct at_key_impl<boost_array_tag>;
 
         template <>
         struct at_key_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/begin.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/begin.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/begin.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -14,7 +14,7 @@
     // Special tags:
     struct sequence_facade_tag; // iterator facade tag
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -38,7 +38,7 @@
         struct begin_impl<boost_tuple_tag>;
 
         template <>
- struct begin_impl<array_tag>;
+ struct begin_impl<boost_array_tag>;
 
         template <>
         struct begin_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/end.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/end.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/end.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -14,7 +14,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -38,7 +38,7 @@
         struct end_impl<boost_tuple_tag>;
 
         template <>
- struct end_impl<array_tag>;
+ struct end_impl<boost_array_tag>;
 
         template <>
         struct end_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/has_key.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/has_key.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/has_key.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -19,7 +19,7 @@
 
     // Special tags:
     struct sequence_facade_tag;
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -47,7 +47,7 @@
         };
 
         template <>
- struct has_key_impl<array_tag>;
+ struct has_key_impl<boost_array_tag>;
 
         template <>
         struct has_key_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/size.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/size.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/size.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -15,7 +15,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -39,7 +39,7 @@
         struct size_impl<boost_tuple_tag>;
  
         template <>
- struct size_impl<array_tag>;
+ struct size_impl<boost_array_tag>;
 
         template <>
         struct size_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/value_at.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/value_at.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/value_at.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -15,7 +15,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -39,7 +39,7 @@
         struct value_at_impl<boost_tuple_tag>;
 
         template <>
- struct value_at_impl<array_tag>;
+ struct value_at_impl<boost_array_tag>;
 
         template <>
         struct value_at_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/sequence/intrinsic/value_at_key.hpp
==============================================================================
--- trunk/boost/fusion/sequence/intrinsic/value_at_key.hpp (original)
+++ trunk/boost/fusion/sequence/intrinsic/value_at_key.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -17,7 +17,7 @@
 {
     // Special tags:
     struct sequence_facade_tag;
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -42,7 +42,7 @@
         };
 
         template <>
- struct value_at_key_impl<array_tag>;
+ struct value_at_key_impl<boost_array_tag>;
 
         template <>
         struct value_at_key_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/support/category_of.hpp
==============================================================================
--- trunk/boost/fusion/support/category_of.hpp (original)
+++ trunk/boost/fusion/support/category_of.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -15,7 +15,7 @@
 {
     // Special tags:
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -48,7 +48,7 @@
         struct category_of_impl<boost_tuple_tag>;
 
         template <>
- struct category_of_impl<array_tag>;
+ struct category_of_impl<boost_array_tag>;
 
         template <>
         struct category_of_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/support/ext_/is_segmented.hpp
==============================================================================
--- trunk/boost/fusion/support/ext_/is_segmented.hpp (original)
+++ trunk/boost/fusion/support/ext_/is_segmented.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -14,7 +14,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
     struct iterator_range_tag;

Modified: trunk/boost/fusion/support/is_sequence.hpp
==============================================================================
--- trunk/boost/fusion/support/is_sequence.hpp (original)
+++ trunk/boost/fusion/support/is_sequence.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -19,7 +19,7 @@
     // Special tags:
     struct non_fusion_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -43,7 +43,7 @@
         struct is_sequence_impl<boost_tuple_tag>;
 
         template <>
- struct is_sequence_impl<array_tag>;
+ struct is_sequence_impl<boost_array_tag>;
 
         template <>
         struct is_sequence_impl<mpl_sequence_tag>;

Modified: trunk/boost/fusion/support/is_view.hpp
==============================================================================
--- trunk/boost/fusion/support/is_view.hpp (original)
+++ trunk/boost/fusion/support/is_view.hpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -15,7 +15,7 @@
     // Special tags:
     struct sequence_facade_tag;
     struct boost_tuple_tag; // boost::tuples::tuple tag
- struct array_tag; // boost::array tag
+ struct boost_array_tag; // boost::array tag
     struct mpl_sequence_tag; // mpl sequence tag
     struct std_pair_tag; // std::pair tag
 
@@ -41,7 +41,7 @@
         struct is_view_impl<boost_tuple_tag>;
 
         template <>
- struct is_view_impl<array_tag>;
+ struct is_view_impl<boost_array_tag>;
 
         template <>
         struct is_view_impl<mpl_sequence_tag>;

Modified: trunk/libs/fusion/test/Jamfile
==============================================================================
--- trunk/libs/fusion/test/Jamfile (original)
+++ trunk/libs/fusion/test/Jamfile 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -81,6 +81,7 @@
     [ run sequence/set.cpp : : : : ]
     [ run sequence/single_view.cpp : : : : ]
     [ run sequence/std_pair.cpp : : : : ]
+ [ run sequence/boost_array.cpp : : : : ]
     [ run sequence/array.cpp : : : : ]
     [ run sequence/tuple_comparison.cpp : : : : ]
     [ run sequence/tuple_construction.cpp : : : : ]

Deleted: trunk/libs/fusion/test/sequence/array.cpp
==============================================================================
--- trunk/libs/fusion/test/sequence/array.cpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
+++ (empty file)
@@ -1,48 +0,0 @@
-/*=============================================================================
- 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)
-==============================================================================*/
-
-#include <boost/detail/lightweight_test.hpp>
-
-#include <boost/fusion/adapted/array.hpp>
-#include <boost/array.hpp>
-
-#include <boost/fusion/sequence/intrinsic.hpp>
-#include <boost/fusion/support/is_sequence.hpp>
-#include <boost/fusion/support/is_view.hpp>
-#include <boost/fusion/iterator.hpp>
-#include <boost/fusion/mpl.hpp>
-
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/front.hpp>
-#include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
-
-int main()
-{
- using namespace boost::fusion;
- typedef boost::array<int,3> array_type;
-
- BOOST_MPL_ASSERT((traits::is_sequence<array_type>));
- BOOST_MPL_ASSERT_NOT((traits::is_view<array_type>));
-
- array_type arr = {{1,2,3}};
-
- BOOST_TEST(*begin(arr) == 1);
- BOOST_TEST(*next(begin(arr)) == 2);
- BOOST_TEST(*advance_c<2>(begin(arr)) == 3);
- BOOST_TEST(prior(next(begin(arr))) == begin(arr));
- BOOST_TEST(*prior(end(arr)) == 3);
- BOOST_TEST(at_c<2>(arr) == 3);
- BOOST_TEST(size(arr) == 3);
- BOOST_TEST(distance(begin(arr), end(arr)) == 3);
-
- BOOST_MPL_ASSERT((boost::mpl::is_sequence<array_type>));
- BOOST_MPL_ASSERT((boost::is_same<int, boost::mpl::front<array_type>::type>));
-
- return boost::report_errors();
-}

Copied: trunk/libs/fusion/test/sequence/boost_array.cpp (from r59538, /trunk/libs/fusion/test/sequence/array.cpp)
==============================================================================
--- /trunk/libs/fusion/test/sequence/array.cpp (original)
+++ trunk/libs/fusion/test/sequence/boost_array.cpp 2010-02-07 13:22:06 EST (Sun, 07 Feb 2010)
@@ -1,6 +1,7 @@
 /*=============================================================================
     Copyright (c) 2001-2006 Joel de Guzman
     Copyright (c) 2005-2006 Dan Marsden
+ Copyright (c) 2010 Christopher Schmidt
 
     Distributed under the Boost Software License, Version 1.0. (See accompanying
     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -8,19 +9,15 @@
 
 #include <boost/detail/lightweight_test.hpp>
 
-#include <boost/fusion/adapted/array.hpp>
+#include <boost/fusion/adapted/boost_array.hpp>
 #include <boost/array.hpp>
 
 #include <boost/fusion/sequence/intrinsic.hpp>
 #include <boost/fusion/support/is_sequence.hpp>
 #include <boost/fusion/support/is_view.hpp>
 #include <boost/fusion/iterator.hpp>
-#include <boost/fusion/mpl.hpp>
 
-#include <boost/mpl/is_sequence.hpp>
-#include <boost/mpl/front.hpp>
 #include <boost/mpl/assert.hpp>
-#include <boost/type_traits/is_same.hpp>
 
 int main()
 {
@@ -41,8 +38,5 @@
     BOOST_TEST(size(arr) == 3);
     BOOST_TEST(distance(begin(arr), end(arr)) == 3);
 
- BOOST_MPL_ASSERT((boost::mpl::is_sequence<array_type>));
- BOOST_MPL_ASSERT((boost::is_same<int, boost::mpl::front<array_type>::type>));
-
     return boost::report_errors();
 }


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