Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r56610 - in trunk/boost/fusion/view/nview: . detail
From: hartmut.kaiser_at_[hidden]
Date: 2009-10-05 18:30:24


Author: hkaiser
Date: 2009-10-05 18:30:23 EDT (Mon, 05 Oct 2009)
New Revision: 56610
URL: http://svn.boost.org/trac/boost/changeset/56610

Log:
Fusion: added size_impl for nview
Added:
   trunk/boost/fusion/view/nview/detail/size_impl.hpp (contents, props changed)
Text files modified:
   trunk/boost/fusion/view/nview/detail/nview_impl.hpp | 2 +-
   trunk/boost/fusion/view/nview/nview_iterator.hpp | 1 +
   2 files changed, 2 insertions(+), 1 deletions(-)

Modified: trunk/boost/fusion/view/nview/detail/nview_impl.hpp
==============================================================================
--- trunk/boost/fusion/view/nview/detail/nview_impl.hpp (original)
+++ trunk/boost/fusion/view/nview/detail/nview_impl.hpp 2009-10-05 18:30:23 EDT (Mon, 05 Oct 2009)
@@ -10,7 +10,7 @@
 #if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM)
 #define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM
 
-//#include <climits>
+#include <climits>
 #include <boost/preprocessor/cat.hpp>
 #include <boost/preprocessor/repeat.hpp>
 #include <boost/preprocessor/iterate.hpp>

Added: trunk/boost/fusion/view/nview/detail/size_impl.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/fusion/view/nview/detail/size_impl.hpp 2009-10-05 18:30:23 EDT (Mon, 05 Oct 2009)
@@ -0,0 +1,38 @@
+/*=============================================================================
+ 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)
+==============================================================================*/
+#if !defined(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM)
+#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM
+
+#include <boost/fusion/iterator/distance.hpp>
+#include <boost/fusion/sequence/intrinsic/begin.hpp>
+#include <boost/fusion/sequence/intrinsic/end.hpp>
+
+namespace boost { namespace fusion
+{
+ struct nview_tag;
+
+ namespace extension
+ {
+ template <typename Tag>
+ struct size_impl;
+
+ template <>
+ struct size_impl<nview_tag>
+ {
+ template <typename Sequence>
+ struct apply
+ : result_of::distance<
+ typename result_of::begin<Sequence>::type
+ , typename result_of::end<Sequence>::type>
+ {};
+ };
+ }
+}}
+
+#endif
+
+

Modified: trunk/boost/fusion/view/nview/nview_iterator.hpp
==============================================================================
--- trunk/boost/fusion/view/nview/nview_iterator.hpp (original)
+++ trunk/boost/fusion/view/nview/nview_iterator.hpp 2009-10-05 18:30:23 EDT (Mon, 05 Oct 2009)
@@ -13,6 +13,7 @@
 #include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/adapted/mpl/mpl_iterator.hpp>
 
+#include <boost/fusion/view/nview/detail/size_impl.hpp>
 #include <boost/fusion/view/nview/detail/begin_impl.hpp>
 #include <boost/fusion/view/nview/detail/end_impl.hpp>
 #include <boost/fusion/view/nview/detail/deref_impl.hpp>


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