Fix regex_traits<T>::char_class_type for Android.
Android can't use ctype_base::mask for its char_class_type because the bionic ctype implementation comes from openbsd, which uses an 8-bit ctype mask which isn't large enough to encode the standard ctypes and __regex_word. Change-Id: Iee4b8dd465ff2cb358ed2b10e1c3a499437403b7
This commit is contained in:
@@ -962,9 +962,18 @@ public:
|
||||
typedef _CharT char_type;
|
||||
typedef basic_string<char_type> string_type;
|
||||
typedef locale locale_type;
|
||||
#ifdef __ANDROID__
|
||||
typedef uint16_t char_class_type;
|
||||
#else
|
||||
typedef ctype_base::mask char_class_type;
|
||||
#endif
|
||||
|
||||
#ifdef __ANDROID__
|
||||
static const char_class_type __regex_word = 0x8000;
|
||||
#else
|
||||
static const char_class_type __regex_word = 0x80;
|
||||
#endif
|
||||
|
||||
private:
|
||||
locale __loc_;
|
||||
const ctype<char_type>* __ct_;
|
||||
|
||||
Reference in New Issue
Block a user