|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r48769 - trunk/boost/fusion/view/ext_
From: eric_at_[hidden]
Date: 2008-09-14 00:46:34
Author: eric_niebler
Date: 2008-09-14 00:46:32 EDT (Sun, 14 Sep 2008)
New Revision: 48769
URL: http://svn.boost.org/trac/boost/changeset/48769
Log:
attempt to work around early instantiation problem on edg-based compilers
Text files modified:
trunk/boost/fusion/view/ext_/segmented_iterator.hpp | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)
Modified: trunk/boost/fusion/view/ext_/segmented_iterator.hpp
==============================================================================
--- trunk/boost/fusion/view/ext_/segmented_iterator.hpp (original)
+++ trunk/boost/fusion/view/ext_/segmented_iterator.hpp 2008-09-14 00:46:32 EDT (Sun, 14 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)
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