Use ctype_base::blank in regex_traits.
authorJonathan Wakely <jwakely@redhat.com>
Tue, 4 Nov 2014 02:49:30 +0000 (02:49 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 4 Nov 2014 02:49:30 +0000 (02:49 +0000)
* include/bits/regex.h (regex_traits::_RegexMask): Remove _S_blank and
adjust _S_valid_mask.
* include/bits/regex.tcc (regex_traits::lookup_classname): Use
ctype_base::blank.

From-SVN: r217066

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/regex.h
libstdc++-v3/include/bits/regex.tcc

index c8e2ef28365f47893c4bbe493be48faf4d7ff5bc..19a86a08cf5e9ac32599722ae4942af21be8866f 100644 (file)
@@ -6,6 +6,11 @@
 
        * include/std/functional (_Bind_simple): Simplify construction.
 
+       * include/bits/regex.h (regex_traits::_RegexMask): Remove _S_blank and
+       adjust _S_valid_mask.
+       * include/bits/regex.tcc (regex_traits::lookup_classname): Use
+       ctype_base::blank.
+
 2014-11-03  Paolo Carlini  <paolo.carlini@oracle.com>
 
        * include/parallel/algo.h: Do not use default arguments in function
index 4244f2e541962dab9aaecfd113b04fc40240dec7..30189e3645fff008f393aa18cdd92ae81ede62ce 100644 (file)
@@ -97,14 +97,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     private:
       struct _RegexMask
        {
-         typedef typename std::ctype<char_type>::mask _BaseType;
+         typedef std::ctype_base::mask _BaseType;
          _BaseType _M_base;
          unsigned char _M_extended;
          static constexpr unsigned char _S_under = 1 << 0;
-         // FIXME: _S_blank should be removed in the future,
-         // when locale's complete.
-         static constexpr unsigned char _S_blank = 1 << 1;
-         static constexpr unsigned char _S_valid_mask = 0x3;
+         static constexpr unsigned char _S_valid_mask = 0x1;
 
          constexpr _RegexMask(_BaseType __base = 0,
                               unsigned char __extended = 0)
index 3322379a5b81c46d01047c8679bfd833e4480348..94cbbfaceafad05073bdef40e451ae4d5e8e0f68 100644 (file)
@@ -335,7 +335,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        {"s", ctype_base::space},
        {"alnum", ctype_base::alnum},
        {"alpha", ctype_base::alpha},
-       {"blank", {0, _RegexMask::_S_blank}},
+       {"blank", ctype_base::blank},
        {"cntrl", ctype_base::cntrl},
        {"digit", ctype_base::digit},
        {"graph", ctype_base::graph},
@@ -377,11 +377,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       return __fctyp.is(__f._M_base, __c)
        // [[:w:]]
        || ((__f._M_extended & _RegexMask::_S_under)
-           && __c == __fctyp.widen('_'))
-       // [[:blank:]]
-       || ((__f._M_extended & _RegexMask::_S_blank)
-           && (__c == __fctyp.widen(' ')
-               || __c == __fctyp.widen('\t')));
+           && __c == __fctyp.widen('_'));
     }
 
   template<typename _Ch_type>