1bits shared by the bytesobject and unicodeobject implementations (and 2possibly other modules, in a not too distant future). 3 4the stuff in here is included into relevant places; see the individual 5source files for details. 6 7-------------------------------------------------------------------- 8the following defines used by the different modules: 9 10STRINGLIB_CHAR 11 12 the type used to hold a character (char or Py_UNICODE) 13 14STRINGLIB_GET_EMPTY() 15 16 returns a PyObject representing the empty string, only to be used if 17 STRINGLIB_MUTABLE is 0. It must not be NULL. 18 19Py_ssize_t STRINGLIB_LEN(PyObject*) 20 21 returns the length of the given string object (which must be of the 22 right type) 23 24PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t) 25 26 creates a new string object 27 28STRINGLIB_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 33int STRINGLIB_CHECK_EXACT(PyObject *) 34 35 returns true if the object is an instance of our type, not a subclass 36 37STRINGLIB_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