1 bits shared by the stringobject and unicodeobject implementations (and 2 possibly other modules, in a not too distant future). 3 4 the stuff in here is included into relevant places; see the individual 5 source files for details. 6 7 -------------------------------------------------------------------- 8 the following defines used by the different modules: 9 10 STRINGLIB_CHAR 11 12 the type used to hold a character (char or Py_UNICODE) 13 14 STRINGLIB_EMPTY 15 16 a PyObject representing the empty string, only to be used if 17 STRINGLIB_MUTABLE is 0 18 19 Py_ssize_t STRINGLIB_LEN(PyObject*) 20 21 returns the length of the given string object (which must be of the 22 right type) 23 24 PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t) 25 26 creates a new string object 27 28 STRINGLIB_CHAR* STRINGLIB_STR(PyObject*) 29 30 returns the pointer to the character data for the given string 31 object (which must be of the right type) 32 33 int STRINGLIB_CHECK_EXACT(PyObject *) 34 35 returns true if the object is an instance of our type, not a subclass 36 37 STRINGLIB_MUTABLE 38 39 must be 0 or 1 to tell the cpp macros in stringlib code if the object 40 being operated on is mutable or not 41