Update of /cvsroot/boost/boost/boost/xpressive/detail/core/matcher
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16029/detail/core/matcher

Modified Files:
        literal_matcher.hpp posix_charset_matcher.hpp 
        range_matcher.hpp 
Log Message:
handle some complemented terminals, misc bug fixes

Index: literal_matcher.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/xpressive/detail/core/matcher/literal_matcher.hpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- literal_matcher.hpp 26 Nov 2005 17:12:25 -0000      1.2
+++ literal_matcher.hpp 6 Apr 2007 02:07:09 -0000       1.3
@@ -33,10 +33,14 @@
         typedef mpl::bool_<ICase> icase_type;
         char_type ch_;
 
+        typedef literal_matcher<Traits, ICase, !Not> inverse_type;
+        explicit literal_matcher(inverse_type that)
+          : ch_(that.ch_)
+        {}
+
         literal_matcher(char_type ch, Traits const &traits)
           : ch_(detail::translate(ch, traits, icase_type()))
-        {
-        }
+        {}
 
         template<typename BidiIter, typename Next>
         bool match(state_type<BidiIter> &state, Next const &next) const

Index: posix_charset_matcher.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/xpressive/detail/core/matcher/posix_charset_matcher.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- posix_charset_matcher.hpp   26 Nov 2005 17:12:25 -0000      1.3
+++ posix_charset_matcher.hpp   6 Apr 2007 02:07:09 -0000       1.4
@@ -40,6 +40,11 @@
             BOOST_ASSERT(0 != this->mask_);
         }
 
+        void inverse()
+        {
+            this->not_ = !this->not_;
+        }
+
         template<typename BidiIter, typename Next>
         bool match(state_type<BidiIter> &state, Next const &next) const
         {

Index: range_matcher.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/xpressive/detail/core/matcher/range_matcher.hpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- range_matcher.hpp   26 Nov 2005 17:12:25 -0000      1.3
+++ range_matcher.hpp   6 Apr 2007 02:07:09 -0000       1.4
@@ -43,6 +43,11 @@
         {
         }
 
+        void inverse()
+        {
+            this->not_ = !this->not_;
+        }
+
         bool in_range(Traits const &traits, char_type ch, mpl::false_) const 
// case-sensitive
         {
             return traits.in_range(this->ch_min_, this->ch_max_, ch);


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to