| 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 |