mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-30 04:27:30 +02:00
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>
|
: is_empty<Sequence>
|
||||||
{};
|
{};
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////
|
||||||
|
struct not_is_empty_pred
|
||||||
|
{
|
||||||
|
template<typename Sequence>
|
||||||
|
struct apply
|
||||||
|
: not_<is_empty<Sequence> >
|
||||||
|
{};
|
||||||
|
};
|
||||||
|
|
||||||
struct segmented_range_tag;
|
struct segmented_range_tag;
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////
|
||||||
@ -64,7 +73,7 @@ namespace boost { namespace fusion
|
|||||||
// If this is a range of segments, skip over the empty ones
|
// If this is a range of segments, skip over the empty ones
|
||||||
typedef typename mpl::if_<
|
typedef typename mpl::if_<
|
||||||
is_segmented
|
is_segmented
|
||||||
, filter_view<Sequence, not_<is_empty<_> > >
|
, filter_view<Sequence, not_is_empty_pred>
|
||||||
, Sequence
|
, Sequence
|
||||||
>::type sequence_non_ref_type;
|
>::type sequence_non_ref_type;
|
||||||
|
|
||||||
@ -196,7 +205,7 @@ namespace boost { namespace fusion
|
|||||||
{
|
{
|
||||||
typedef typename result_of::segments<Sequence>::type segments;
|
typedef typename result_of::segments<Sequence>::type segments;
|
||||||
typedef typename remove_reference<segments>::type sequence;
|
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;
|
typedef segmented_range<sequence, begin, true> type;
|
||||||
|
|
||||||
static type call(Sequence &seq)
|
static type call(Sequence &seq)
|
||||||
|
Reference in New Issue
Block a user