From fcf705ef9ea316dded54e14fb6ba9d01a27ec0e4 Mon Sep 17 00:00:00 2001 From: Peter Huene Date: Wed, 31 Aug 2016 11:48:57 -0700 Subject: [PATCH] Revert "fix sequence partitioning problem" This reverts commit a8e391bd99dddb3f9ece84bdb1bb9236b0a37cf7. --- .../spirit/home/x3/operator/detail/sequence.hpp | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/include/boost/spirit/home/x3/operator/detail/sequence.hpp b/include/boost/spirit/home/x3/operator/detail/sequence.hpp index 2c804cc78a..e54a8f6a9e 100644 --- a/include/boost/spirit/home/x3/operator/detail/sequence.hpp +++ b/include/boost/spirit/home/x3/operator/detail/sequence.hpp @@ -103,30 +103,30 @@ namespace boost { namespace spirit { namespace x3 { namespace detail } }; - template + template struct pass_sequence_attribute_used : - mpl::if_c< - (!pass_through && traits::is_size_one_sequence::value) + mpl::if_< + traits::is_size_one_sequence , pass_sequence_attribute_front , pass_through_sequence_attribute>::type {}; - template + template struct pass_sequence_attribute : mpl::if_< fusion::result_of::empty , pass_sequence_attribute_unused - , pass_sequence_attribute_used>::type {}; + , pass_sequence_attribute_used>::type {}; - template - struct pass_sequence_attribute, Attribute, pass_through> + template + struct pass_sequence_attribute, Attribute> : pass_through_sequence_attribute {}; template struct pass_sequence_attribute_subject : pass_sequence_attribute {}; - template - struct pass_sequence_attribute + struct pass_sequence_attribute::type> : pass_sequence_attribute_subject {}; @@ -150,8 +150,8 @@ namespace boost { namespace spirit { namespace x3 { namespace detail typedef typename fusion::result_of::end::type r_end; typedef fusion::iterator_range l_part; typedef fusion::iterator_range r_part; - typedef pass_sequence_attribute l_pass; - typedef pass_sequence_attribute r_pass; + typedef pass_sequence_attribute l_pass; + typedef pass_sequence_attribute r_pass; static l_part left(Attribute& s) { @@ -175,7 +175,7 @@ namespace boost { namespace spirit { namespace x3 { namespace detail typedef unused_type l_part; typedef Attribute& r_part; typedef pass_sequence_attribute_unused l_pass; - typedef pass_sequence_attribute r_pass; + typedef pass_sequence_attribute r_pass; static unused_type left(Attribute&) { @@ -195,7 +195,7 @@ namespace boost { namespace spirit { namespace x3 { namespace detail { typedef Attribute& l_part; typedef unused_type r_part; - typedef pass_sequence_attribute l_pass; + typedef pass_sequence_attribute l_pass; typedef pass_sequence_attribute_unused r_pass; static Attribute& left(Attribute& s)