Home | History | Annotate | Download | only in stringlib
      1 #ifndef STRINGLIB_UNICODEDEFS_H
      2 #define STRINGLIB_UNICODEDEFS_H
      3 
      4 /* this is sort of a hack.  there's at least one place (formatting
      5    floats) where some stringlib code takes a different path if it's
      6    compiled as unicode. */
      7 #define STRINGLIB_IS_UNICODE     1
      8 
      9 #define STRINGLIB_OBJECT         PyUnicodeObject
     10 #define STRINGLIB_CHAR           Py_UNICODE
     11 #define STRINGLIB_TYPE_NAME      "unicode"
     12 #define STRINGLIB_PARSE_CODE     "U"
     13 #define STRINGLIB_EMPTY          unicode_empty
     14 #define STRINGLIB_ISSPACE        Py_UNICODE_ISSPACE
     15 #define STRINGLIB_ISLINEBREAK    BLOOM_LINEBREAK
     16 #define STRINGLIB_ISDECIMAL      Py_UNICODE_ISDECIMAL
     17 #define STRINGLIB_TODECIMAL      Py_UNICODE_TODECIMAL
     18 #define STRINGLIB_TOUPPER        Py_UNICODE_TOUPPER
     19 #define STRINGLIB_TOLOWER        Py_UNICODE_TOLOWER
     20 #define STRINGLIB_FILL           Py_UNICODE_FILL
     21 #define STRINGLIB_STR            PyUnicode_AS_UNICODE
     22 #define STRINGLIB_LEN            PyUnicode_GET_SIZE
     23 #define STRINGLIB_NEW            PyUnicode_FromUnicode
     24 #define STRINGLIB_RESIZE         PyUnicode_Resize
     25 #define STRINGLIB_CHECK          PyUnicode_Check
     26 #define STRINGLIB_CHECK_EXACT    PyUnicode_CheckExact
     27 #define STRINGLIB_GROUPING       _PyUnicode_InsertThousandsGrouping
     28 
     29 #if PY_VERSION_HEX < 0x03000000
     30 #define STRINGLIB_TOSTR          PyObject_Unicode
     31 #else
     32 #define STRINGLIB_TOSTR          PyObject_Str
     33 #endif
     34 
     35 #define STRINGLIB_WANT_CONTAINS_OBJ 1
     36 
     37 #endif /* !STRINGLIB_UNICODEDEFS_H */
     38