Update of /cvsroot/boost/boost/boost/xpressive/detail/dynamic
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv823/detail/dynamic

Modified Files:
        parser.hpp parser_traits.hpp 
Log Message:
still more work to support non-char data

Index: parser.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/xpressive/detail/dynamic/parser.hpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- parser.hpp  28 Apr 2007 01:42:17 -0000      1.8
+++ parser.hpp  30 May 2007 08:34:03 -0000      1.9
@@ -107,10 +107,10 @@
 ///////////////////////////////////////////////////////////////////////////////
 // make_literal_xpression
 //
-template<typename BidiIter, typename Char, typename Traits>
+template<typename BidiIter, typename Traits>
 inline sequence<BidiIter> make_literal_xpression
 (
-    std::basic_string<Char> const &literal
+    typename Traits::string_type const &literal
   , regex_constants::syntax_option_type flags
   , Traits const &traits
 )
@@ -121,9 +121,6 @@
         return make_char_xpression<BidiIter>(literal[0], flags, traits);
     }
 
-    typedef typename iterator_value<BidiIter>::type char_type;
-    BOOST_MPL_ASSERT((is_same<char_type, Char>));
-
     if(0 != (regex_constants::icase_ & flags))
     {
         string_matcher<Traits, true> matcher(literal, traits);
@@ -147,7 +144,6 @@
   , Traits const &traits
 )
 {
-    typedef typename iterator_value<BidiIter>::type char_type;
     if(0 != (regex_constants::icase_ & flags))
     {
         return make_dynamic<BidiIter>

Index: parser_traits.hpp
===================================================================
RCS file: 
/cvsroot/boost/boost/boost/xpressive/detail/dynamic/parser_traits.hpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- parser_traits.hpp   24 May 2007 23:25:40 -0000      1.9
+++ parser_traits.hpp   30 May 2007 08:34:03 -0000      1.10
@@ -48,8 +48,6 @@
       , space_(lookup_classname(traits_, "space"))
       , alnum_(lookup_classname(traits_, "alnum"))
     {
-        BOOST_ASSERT(0 != this->space_);
-        BOOST_ASSERT(0 != this->alnum_);
     }
 
     
///////////////////////////////////////////////////////////////////////////////
@@ -85,7 +83,6 @@
         locale_type oldloc = this->traits().imbue(loc);
         this->space_ = lookup_classname(this->traits(), "space");
         this->alnum_ = lookup_classname(this->traits(), "alnum");
-        BOOST_ASSERT(0 != this->space_);
         return oldloc;
     }
 
@@ -398,14 +395,14 @@
     // is_space_
     bool is_space_(char_type ch) const
     {
-        return this->traits().isctype(ch, this->space_);
+        return 0 != this->space_ && this->traits().isctype(ch, this->space_);
     }
 
     ///////////////////////////////////////////////////////////////////////////
     // is_alnum_
     bool is_alnum_(char_type ch) const
     {
-        return this->traits().isctype(ch, this->alnum_);
+        return 0 != this->alnum_ && this->traits().isctype(ch, this->alnum_);
     }
 
     ///////////////////////////////////////////////////////////////////////////


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to