Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r57281 - in sandbox/SOC/2009/fusion/boost/fusion: . adapted/detail/mpl container/list container/list/detail/cons include support support/internal/variadic_templates support/internal/variadic_templates/detail view view/filter_view/detail view/joint_view/detail view/nview
From: mr.chr.schmidt_at_[hidden]
Date: 2009-11-01 19:34:20


Author: cschmidt
Date: 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
New Revision: 57281
URL: http://svn.boost.org/trac/boost/changeset/57281

Log:
spirit fixes (5)
Added:
   sandbox/SOC/2009/fusion/boost/fusion/include/nview.hpp (contents, props changed)
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_c_n.hpp (contents, props changed)
   sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector_c.hpp (contents, props changed)
   sandbox/SOC/2009/fusion/boost/fusion/view/nview/
   sandbox/SOC/2009/fusion/boost/fusion/view/nview.hpp (contents, props changed)
   sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp (contents, props changed)
Text files modified:
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp | 4 ++--
   sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp | 20 ++++++++------------
   sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp | 2 --
   sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp | 1 -
   sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp | 24 ++++++++++++++++++++++++
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of.hpp | 10 ++++++++--
   sandbox/SOC/2009/fusion/boost/fusion/support/tag_of_fwd.hpp | 2 +-
   sandbox/SOC/2009/fusion/boost/fusion/view.hpp | 1 +
   sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp | 1 -
   sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp | 8 +++-----
   10 files changed, 47 insertions(+), 26 deletions(-)

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/distance_impl.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -14,10 +14,10 @@
 namespace boost { namespace fusion { namespace extension
 {
     template <typename>
- struct distance_to_impl;
+ struct distance_impl;
 
     template <>
- struct distance_to_impl<mpl_iterator_tag>
+ struct distance_impl<mpl_iterator_tag>
     {
         template <typename It1, typename It2>
         struct apply

Modified: sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/adapted/detail/mpl/tag_of.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -10,12 +10,14 @@
 #include <boost/fusion/support/tag_of.hpp>
 
 #include <boost/mpl/iterator_tags.hpp>
+#include <boost/mpl/bool.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/mpl/always.hpp>
 #include <boost/utility/enable_if.hpp>
 
 namespace boost
@@ -24,6 +26,7 @@
     {
         struct mpl_sequence_tag;
         struct mpl_iterator_tag;
+ struct non_fusion_tag;
 
         namespace detail
         {
@@ -33,19 +36,12 @@
             struct category_is
               : mpl::equal_to<typename T::category, Category>
             {};
- }
 
- namespace traits
- {
+ template <typename T, typename Enable>
+ struct tag_of_fallback;
+
             template<typename T>
- struct tag_of<
- T
- , typename disable_if<
- typename detail::has_fusion_tag<
- typename detail::identity<T>::type
- >::type
- >::type
- >
+ struct tag_of_fallback<T, typename enable_if<typename mpl::always<mpl::true_>::apply<T>::type>::type>
             {
                 typedef typename detail::identity<T>::type identity_t;
 
@@ -72,7 +68,7 @@
>
>
                           , mpl::identity<mpl_iterator_tag>
- , tag_of<T, bool>
+ , mpl::identity<non_fusion_tag>
>
>::type
                 type;

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/detail/cons/cons_fwd.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -11,8 +11,6 @@
 namespace boost { namespace fusion
 {
     struct cons_tag;
- struct forward_traversal_tag;
-
     struct nil;
 
     template <typename Car, typename Cdr>

Modified: sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/container/list/list_fwd.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -16,7 +16,6 @@
 {
     struct list_tag;
     struct list_iterator_tag;
- struct forward_traversal_tag;
     struct bidirectional_traversal_tag;
 
     VARIADIC_TEMPLATE_WITH_DEFAULT(FUSION_MAX_LIST_SIZE)

Added: sandbox/SOC/2009/fusion/boost/fusion/include/nview.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/include/nview.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -0,0 +1,13 @@
+/*=============================================================================
+ Copyright (c) 2001-2007 Joel de Guzman
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_INCLUDE_NVIEW_HPP
+#define BOOST_FUSION_INCLUDE_NVIEW_HPP
+
+#include <boost/fusion/view/nview.hpp>
+
+#endif

Modified: sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/deduce.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -72,6 +72,30 @@
 #undef BOOST_FUSION_CV_REF_SPECIALIZATION
 
         template <typename T, int N>
+ struct deduce<T[N]>
+ {
+ typedef const T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<const T[N]>
+ {
+ typedef const T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<volatile T[N]>
+ {
+ typedef const volatile T(&type)[N];
+ };
+
+ template <typename T, int N>
+ struct deduce<const volatile T[N]>
+ {
+ typedef const volatile T(&type)[N];
+ };
+
+ template <typename T, int N>
         struct deduce<T(&)[N]>
         {
             typedef T(&type)[N];

Added: sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_c_n.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_c_n.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -0,0 +1,22 @@
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+ template<BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PP_ITERATION(), int I)>
+ struct variadic_arguments_to_vector_c<
+ BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PP_ITERATION(), I)
+ >
+ {
+ public:
+ typedef
+ mpl::BOOST_PP_CAT(BOOST_PP_CAT(vector,BOOST_PP_ITERATION()),_c)<
+ int
+#if BOOST_PP_ITERATION()
+ , BOOST_PP_ENUM_PARAMS_Z(1, BOOST_PP_ITERATION(), I)
+#endif
+ >
+ type;
+ };

Added: sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector_c.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector_c.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -0,0 +1,35 @@
+/*=============================================================================
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
+#define BOOST_FUSION_SUPPORT_INTERNAL_VARIADIC_TEMPLATES_VARIADIC_ARGUMENTS_TO_VECTOR_HPP
+
+//cschmdit: workaround to get variadic template arguments into a fixed-length
+//template argument list. We definitely need a boost config macro for this issue
+//though.
+
+#include <boost/preprocessor/cat.hpp>
+#include <boost/preprocessor/iteration/iterate.hpp>
+#include <boost/preprocessor/repetition/enum_params.hpp>
+
+#include <boost/mpl/vector/vector10_c.hpp>
+#include <boost/mpl/vector/vector20_c.hpp>
+#include <boost/mpl/vector/vector30_c.hpp>
+#include <boost/mpl/vector/vector40_c.hpp>
+#include <boost/mpl/vector/vector50_c.hpp>
+
+namespace boost { namespace fusion { namespace detail
+{
+ template<int...>
+ struct variadic_arguments_to_vector_c;
+
+#define BOOST_PP_ITERATION_PARAMS_1\
+ (3, (0, 50, <boost/fusion/support/internal/variadic_templates/detail/variadic_arguments_to_vector_c_n.hpp>))
+#include BOOST_PP_ITERATE()
+}}}
+
+#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-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -29,11 +29,17 @@
         {
             typedef typename IdentityT::fusion_tag type;
         };
+
+ template <typename T, typename Enable=void>
+ struct tag_of_fallback
+ {
+ typedef non_fusion_tag type;
+ };
     }
 
     namespace traits
     {
- template <typename T, typename Dummy>
+ template <typename T, typename Enable>
         struct tag_of
         {
             typedef typename detail::identity<T>::type identity_t;
@@ -42,7 +48,7 @@
                 mpl::eval_if<
                     detail::has_fusion_tag<identity_t>
                   , detail::get_fusion_tag<identity_t>
- , mpl::identity<non_fusion_tag>
+ , detail::tag_of_fallback<T>
>::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-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -15,7 +15,7 @@
 {
     namespace traits
     {
- template<typename Seq, typename Dummy=void>
+ template<typename Seq, typename Enable=void>
         struct tag_of;
     }
 }}

Modified: sandbox/SOC/2009/fusion/boost/fusion/view.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -10,6 +10,7 @@
 
 #include <boost/fusion/view/filter_view.hpp>
 #include <boost/fusion/view/iterator_range.hpp>
+#include <boost/fusion/view/nview.hpp>
 #include <boost/fusion/view/joint_view.hpp>
 #include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/view/reverse_view.hpp>

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/filter_view/detail/filter_view_iterator.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -22,7 +22,6 @@
 namespace boost { namespace fusion
 {
     struct filter_view_iterator_tag;
- struct forward_traversal_tag;
 
     template <typename Category,typename Begin, typename End, typename Pred>
     struct filter_iterator

Modified: sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp
==============================================================================
--- sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp (original)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/joint_view/detail/joint_view_iterator.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -9,26 +9,24 @@
 #ifndef BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_JOINT_VIEW_ITERATOR_HPP
 #define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_JOINT_VIEW_ITERATOR_HPP
 
-#include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/support/iterator_base.hpp>
 
 namespace boost { namespace fusion
 {
     struct joint_view_iterator_tag;
     struct concat_iterator_tag;
- struct forward_traversal_tag;
 
     template <typename Category, typename Begin, typename End, typename Concat>
     struct joint_view_iterator
       : iterator_base<joint_view_iterator<Category, Begin, End, Concat> >
     {
- typedef joint_view_iterator_tag fusion_tag;
- typedef Category category;
-
         typedef Begin begin_type;
         typedef End end_type;
         typedef Concat concat_type;
 
+ typedef joint_view_iterator_tag fusion_tag;
+ typedef Category category;
+
         joint_view_iterator(Begin const& first, Concat const& concat)
           : first(first)
           , concat(concat)

Added: sandbox/SOC/2009/fusion/boost/fusion/view/nview.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/nview.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -0,0 +1,15 @@
+/*=============================================================================
+ Copyright (c) 2001-2006 Joel de Guzman
+ Copyright (c) 2006 Dan Marsden
+ Copyright (c) 2009 Hartmut Kaiser
+
+ 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_VIEW_NVIEW_HPP
+#define BOOST_FUSION_VIEW_NVIEW_HPP
+
+#include <boost/fusion/view/nview/nview.hpp>
+
+#endif

Added: sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp
==============================================================================
--- (empty file)
+++ sandbox/SOC/2009/fusion/boost/fusion/view/nview/nview.hpp 2009-11-01 19:34:18 EST (Sun, 01 Nov 2009)
@@ -0,0 +1,173 @@
+
+/*=============================================================================
+ Copyright (c) 2009 Hartmut Kaiser
+ Copyright (c) 2009 Christopher Schmidt
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+
+#ifndef BOOST_FUSION_VIEW_NVIEW_NVIEW_HPP
+#define BOOST_FUSION_VIEW_NVIEW_NVIEW_HPP
+
+#include <boost/fusion/support/internal/assert.hpp>
+#include <boost/fusion/view/detail/view_storage.hpp>
+#ifdef BOOST_FUSION_ENABLE_STATIC_ASSERTS
+# include <boost/fusion/support/category_of.hpp>
+#endif
+#include <boost/fusion/support/sequence_base.hpp>
+#include <boost/fusion/support/internal/ref.hpp>
+#include <boost/fusion/support/internal/workaround.hpp>
+#ifndef BOOST_NO_VARIADIC_TEMPLATES
+# include <boost/fusion/support/internal/variadic_templates/variadic_arguments_to_vector_c.hpp>
+#else
+# include <boost/fusion/container/vector/limits.hpp>
+
+# include <boost/preprocessor/cat.hpp>
+# include <boost/preprocessor/iteration/iterate.hpp>
+# include <boost/preprocessor/repetition/enum_params.hpp>
+# include <boost/preprocessor/repetition/enum_params_with_a_default.hpp>
+# include <boost/mpl/vector/vector10_c.hpp>
+# include <boost/mpl/vector/vector20_c.hpp>
+# include <boost/mpl/vector/vector30_c.hpp>
+# include <boost/mpl/vector/vector40_c.hpp>
+# include <boost/mpl/vector/vector50_c.hpp>
+#endif
+#include <boost/mpl/size.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/mpl/vector_c.hpp>
+
+#include <boost/fusion/view/nview/detail/nview_fwd.hpp>
+#include <boost/fusion/view/nview/detail/nview_iterator.hpp>
+#include <boost/fusion/view/nview/detail/advance_impl.hpp>
+#include <boost/fusion/view/nview/detail/at_impl.hpp>
+#include <boost/fusion/view/nview/detail/begin_impl.hpp>
+#include <boost/fusion/view/nview/detail/deref_impl.hpp>
+#include <boost/fusion/view/nview/detail/distance_impl.hpp>
+#include <boost/fusion/view/nview/detail/end_impl.hpp>
+#include <boost/fusion/view/nview/detail/equal_to_impl.hpp>
+#include <boost/fusion/view/nview/detail/next_impl.hpp>
+#include <boost/fusion/view/nview/detail/prior_impl.hpp>
+#include <boost/fusion/view/nview/detail/value_at_impl.hpp>
+#include <boost/fusion/view/nview/detail/value_of_impl.hpp>
+
+namespace boost { namespace fusion
+{
+ struct nview_tag;
+ struct random_access_traversal_tag;
+ struct fusion_sequence_tag;
+
+ template<typename Seq, typename Indices>
+ struct nview
+ : sequence_base<nview<Seq, Indices> >
+ {
+ BOOST_FUSION_MPL_ASSERT((traits::is_sequence<Seq>));
+ BOOST_FUSION_MPL_ASSERT((traits::is_random_access<Seq>));
+
+ typedef Indices indices;
+ typedef detail::view_storage<Seq> storage_type;
+ typedef typename storage_type::type seq_type;
+
+ typedef nview_tag fusion_tag;
+ typedef fusion_sequence_tag tag;
+ typedef random_access_traversal_tag category;
+ typedef mpl::true_ is_view;
+ typedef typename mpl::size<Indices>::type size;
+
+#define BOOST_FUSION_NVIEW_CTOR(COMBINATION,_)\
+ template<typename OtherSeq>\
+ nview(nview<OtherSeq, Indices> COMBINATION view)\
+ : seq(static_cast<nview<OtherSeq, Indices> COMBINATION>(view).seq)\
+ {}
+
+ BOOST_FUSION_ALL_CTOR_COMBINATIONS(BOOST_FUSION_NVIEW_CTOR,_)
+
+#undef BOOST_FUSION_NVIEW_CTOR
+
+#ifdef BOOST_NO_RVALUE_REFERENCES
+ explicit
+ nview(typename storage_type::call_param seq)
+ : seq(seq)
+ {}
+#else
+ template<typename OtherSeq>
+ explicit
+ nview(BOOST_FUSION_R_ELSE_CLREF(OtherSeq) seq)
+ : seq(BOOST_FUSION_FORWARD(OtherSeq,seq))
+ {}
+#endif
+
+ template<typename OtherView>
+ nview&
+ operator=(BOOST_FUSION_R_ELSE_CLREF(OtherView) other_view)
+ {
+ BOOST_FUSION_TAG_CHECK(OtherView,nview_tag);
+
+ seq=BOOST_FUSION_FORWARD(OtherView,other_view).seq;
+ return *this;
+ }
+
+ storage_type seq;
+ };
+
+#ifndef BOOST_NO_VARIADIC_TEMPLATES
+ namespace result_of
+ {
+ template<class Seq, int... Indices>
+ struct as_nview
+ {
+ typedef
+ nview<
+ Seq
+ , typename detail::variadic_arguments_to_vector_c<
+ Indices...
+ >::type
+ //, mpl::vector_c<int, Indices...>
+ >
+ type;
+ };
+ }
+
+ template<int... Indices, class Seq>
+ typename result_of::as_nview<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , Indices...
+ >::type
+ as_nview(BOOST_FUSION_R_ELSE_CLREF(Seq) seq)
+ {
+ return typename result_of::as_nview<
+ BOOST_FUSION_R_ELSE_CLREF(Seq)
+ , Indices...
+ >::type(BOOST_FUSION_FORWARD(Seq,seq));
+ }
+
+# ifdef BOOST_NO_RVALUE_REFERENCES
+ template<int... Indices, class Seq>
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD(
+ result_of::as_nview,Seq<,&, Indices...>)
+ as_nview(Seq& seq)
+ {
+ return typename result_of::as_nview<Seq&, Indices...>::type(seq);
+ }
+ BOOST_FUSION_EXPLICIT_TEMPLATE_NON_CONST_ARG_OVERLOAD
+# endif
+#else
+ namespace result_of
+ {
+ template<
+ class Seq
+ , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(
+ FUSION_MAX_VECTOR_SIZE, int I, -1)
+ >
+ struct as_nview;
+ }
+
+# define BOOST_PP_ITERATION_PARAMS_1\
+ (3, (0, FUSION_MAX_VECTOR_SIZE, <boost/fusion/view/nview/detail/pp/as_nview.hpp>))
+ #include BOOST_PP_ITERATE()
+#endif
+}}
+
+#endif
+
+


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