$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r48817 - in branches/release: . boost/fusion/view/ext_
From: eric_at_[hidden]
Date: 2008-09-17 11:54:23
Author: eric_niebler
Date: 2008-09-17 11:54:23 EDT (Wed, 17 Sep 2008)
New Revision: 48817
URL: http://svn.boost.org/trac/boost/changeset/48817
Log:
Merged revisions 48769 via svnmerge from 
https://svn.boost.org/svn/boost/trunk
........
  r48769 | eric_niebler | 2008-09-13 21:46:32 -0700 (Sat, 13 Sep 2008) | 1 line
  
  attempt to work around early instantiation problem on edg-based compilers
........
Properties modified: 
   branches/release/   (props changed)
Text files modified: 
   branches/release/boost/fusion/view/ext_/segmented_iterator.hpp |    13 +++++++++++--                           
   1 files changed, 11 insertions(+), 2 deletions(-)
Modified: branches/release/boost/fusion/view/ext_/segmented_iterator.hpp
==============================================================================
--- branches/release/boost/fusion/view/ext_/segmented_iterator.hpp	(original)
+++ branches/release/boost/fusion/view/ext_/segmented_iterator.hpp	2008-09-17 11:54:23 EDT (Wed, 17 Sep 2008)
@@ -47,6 +47,15 @@
           : is_empty<Sequence>
         {};
 
+        ////////////////////////////////////////////////////////////////////////////
+        struct not_is_empty_pred
+        {
+            template<typename Sequence>
+            struct apply
+              : not_<is_empty<Sequence> >
+            {};
+        };
+
         struct segmented_range_tag;
 
         ////////////////////////////////////////////////////////////////////////////
@@ -64,7 +73,7 @@
             // If this is a range of segments, skip over the empty ones
             typedef typename mpl::if_<
                 is_segmented
-              , filter_view<Sequence, not_<is_empty<_> > >
+              , filter_view<Sequence, not_is_empty_pred>
               , Sequence
             >::type sequence_non_ref_type;
 
@@ -196,7 +205,7 @@
         {
             typedef typename result_of::segments<Sequence>::type segments;
             typedef typename remove_reference<segments>::type sequence;
-            typedef typename result_of::begin<filter_view<sequence, not_<is_empty<_> > > >::type begin;
+            typedef typename result_of::begin<filter_view<sequence, not_is_empty_pred> >::type begin;
             typedef segmented_range<sequence, begin, true> type;
 
             static type call(Sequence &seq)