diff options
| -rw-r--r-- | libcxx/include/regex | 11 | ||||
| -rw-r--r-- | libcxx/src/regex.cpp | 6 | ||||
| -rw-r--r-- | libcxx/test/re/re.traits/lookup_classname.pass.cpp | 4 |
3 files changed, 12 insertions, 9 deletions
diff --git a/libcxx/include/regex b/libcxx/include/regex index bebbaf09835..5e1c37c64e8 100644 --- a/libcxx/include/regex +++ b/libcxx/include/regex @@ -1192,7 +1192,8 @@ regex_traits<_CharT>::__lookup_collatename(_ForwardIterator __f, // lookup_classname -ctype_base::mask _LIBCPP_FUNC_VIS __get_classname(const char* __s, bool __icase); +regex_traits<char>::char_class_type _LIBCPP_FUNC_VIS +__get_classname(const char* __s, bool __icase); template <class _CharT> template <class _ForwardIterator> @@ -2184,8 +2185,8 @@ class __bracket_expression vector<pair<string_type, string_type> > __ranges_; vector<pair<_CharT, _CharT> > __digraphs_; vector<string_type> __equivalences_; - ctype_base::mask __mask_; - ctype_base::mask __neg_mask_; + typename regex_traits<_CharT>::char_class_type __mask_; + typename regex_traits<_CharT>::char_class_type __neg_mask_; bool __negate_; bool __icase_; bool __collate_; @@ -2281,10 +2282,10 @@ public: void __add_equivalence(const string_type& __s) {__equivalences_.push_back(__s);} _LIBCPP_INLINE_VISIBILITY - void __add_class(ctype_base::mask __mask) + void __add_class(typename regex_traits<_CharT>::char_class_type __mask) {__mask_ |= __mask;} _LIBCPP_INLINE_VISIBILITY - void __add_neg_class(ctype_base::mask __mask) + void __add_neg_class(typename regex_traits<_CharT>::char_class_type __mask) {__neg_mask_ |= __mask;} }; diff --git a/libcxx/src/regex.cpp b/libcxx/src/regex.cpp index fb820e2bfed..17dd6eaa60a 100644 --- a/libcxx/src/regex.cpp +++ b/libcxx/src/regex.cpp @@ -207,7 +207,7 @@ const collationnames collatenames[] = struct classnames { const char* elem_; - ctype_base::mask mask_; + regex_traits<char>::char_class_type mask_; }; #if defined(__clang__) @@ -254,12 +254,12 @@ __get_collation_name(const char* s) return r; } -ctype_base::mask +regex_traits<char>::char_class_type __get_classname(const char* s, bool __icase) { const classnames* i = _VSTD::lower_bound(begin(ClassNames), end(ClassNames), s, use_strcmp()); - ctype_base::mask r = 0; + regex_traits<char>::char_class_type r = 0; if (i != end(ClassNames) && strcmp(s, i->elem_) == 0) { r = i->mask_; diff --git a/libcxx/test/re/re.traits/lookup_classname.pass.cpp b/libcxx/test/re/re.traits/lookup_classname.pass.cpp index 75c088858b4..0b1b18eb507 100644 --- a/libcxx/test/re/re.traits/lookup_classname.pass.cpp +++ b/libcxx/test/re/re.traits/lookup_classname.pass.cpp @@ -22,7 +22,9 @@ template <class char_type> void -test(const char_type* A, std::ctype_base::mask expected, bool icase = false) +test(const char_type* A, + typename std::regex_traits<char_type>::char_class_type expected, + bool icase = false) { std::regex_traits<char_type> t; typedef forward_iterator<const char_type*> F; |

