Py_UCS4 _PyUnicode2_ToTitlecase(Py_UCS4 ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); if (ctype->flags & EXTENDED_CASE_MASK) return _PyUnicode_ExtendedCase[ctype->title & 0xFFFF]; return ch + ctype->title; }
Py_UNICODE _PyUnicode_ToTitlecase(register const Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); if (ctype->title) return ch + ctype->title; return ch + ctype->upper; }
Py_UNICODE _PyUnicode_ToLowercase(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); int delta = ctype->lower; if (ctype->flags & NODELTA_MASK) return delta; if (delta >= 32768) delta -= 65536; return ch + delta; }
int _PyUnicode2_ToLowerFull(Py_UCS4 ch, Py_UCS4 *res) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); if (ctype->flags & EXTENDED_CASE_MASK) { int index = ctype->lower & 0xFFFF; int n = ctype->lower >> 24; int i; for (i = 0; i < n; i++) res[i] = _PyUnicode_ExtendedCase[index + i]; return n; }
Py_UNICODE _PyUnicode_ToTitlecase(register Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); int delta = ctype->title; if (ctype->flags & NODELTA_MASK) return delta; if (delta >= 32768) delta -= 65536; return ch + delta; }
int _PyUnicode2_IsXidStart(Py_UCS4 ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & XID_START_MASK) != 0; }
Py_UNICODE _PyUnicode_ToLowercase(register const Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return ch + ctype->lower; }
int _PyUnicode_IsAlpha(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & ALPHA_MASK) != 0; }
int _PyUnicode_IsNumeric(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & NUMERIC_MASK) != 0; }
int _PyUnicode_IsUppercase(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & UPPER_MASK) != 0; }
int _PyUnicode2_IsXidContinue(Py_UCS4 ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & XID_CONTINUE_MASK) != 0; }
int _PyUnicode_ToDigit(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & DIGIT_MASK) ? ctype->digit : -1; }
int _PyUnicode_IsLowercase(register const Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & LOWER_MASK) != 0; }
int _PyUnicode_IsTitlecase(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & TITLE_MASK) != 0; }
int _PyUnicode_IsLinebreak(register const Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & LINEBREAK_MASK) != 0; }
int _PyUnicode2_IsLowercase(Py_UCS4 ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & LOWER_MASK) != 0; }
/* Returns 1 for Unicode characters to be hex-escaped when repr()ed, 0 otherwise. All characters except those characters defined in the Unicode character database as following categories are considered printable. * Cc (Other, Control) * Cf (Other, Format) * Cs (Other, Surrogate) * Co (Other, Private Use) * Cn (Other, Not Assigned) * Zl Separator, Line ('\u2028', LINE SEPARATOR) * Zp Separator, Paragraph ('\u2029', PARAGRAPH SEPARATOR) * Zs (Separator, Space) other than ASCII space('\x20'). */ int _PyUnicode2_IsPrintable(Py_UCS4 ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & PRINTABLE_MASK) != 0; }
int _PyUnicode_ToDecimalDigit(Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & DECIMAL_MASK) ? ctype->decimal : -1; }
int _PyUnicode_IsWhitespace(register const Py_UNICODE ch) { const _PyUnicode_TypeRecord *ctype = gettyperecord(ch); return (ctype->flags & SPACE_MASK) != 0; }