| bits shared by the stringobject and unicodeobject implementations (and | |
| possibly other modules, in a not too distant future). | |
| the stuff in here is included into relevant places; see the individual | |
| source files for details. | |
| -------------------------------------------------------------------- | |
| the following defines used by the different modules: | |
| STRINGLIB_CHAR | |
| the type used to hold a character (char or Py_UNICODE) | |
| STRINGLIB_EMPTY | |
| a PyObject representing the empty string, only to be used if | |
| STRINGLIB_MUTABLE is 0 | |
| Py_ssize_t STRINGLIB_LEN(PyObject*) | |
| returns the length of the given string object (which must be of the | |
| right type) | |
| PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t) | |
| creates a new string object | |
| STRINGLIB_CHAR* STRINGLIB_STR(PyObject*) | |
| returns the pointer to the character data for the given string | |
| object (which must be of the right type) | |
| int STRINGLIB_CHECK_EXACT(PyObject *) | |
| returns true if the object is an instance of our type, not a subclass | |
| STRINGLIB_MUTABLE | |
| must be 0 or 1 to tell the cpp macros in stringlib code if the object | |
| being operated on is mutable or not |