forked from boostorg/fusion
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 ........ [SVN r48817]
This commit is contained in:
13
include/boost/fusion/view/ext_/segmented_iterator.hpp
Executable file → Normal file
13
include/boost/fusion/view/ext_/segmented_iterator.hpp
Executable file → Normal file
@ -47,6 +47,15 @@ namespace boost { namespace fusion
|
||||
: 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 @@ namespace boost { namespace fusion
|
||||
// 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 @@ namespace boost { namespace fusion
|
||||
{
|
||||
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)
|
||||
|
Reference in New Issue
Block a user