| Benjamin Peterson | 1cc9520 | 2014-07-23 21:39:37 -0700 | [diff] [blame] | 1 | bits shared by the bytesobject and unicodeobject implementations (and | 
| Thomas Wouters | 477c8d5 | 2006-05-27 19:21:47 +0000 | [diff] [blame] | 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 |  | 
| Benjamin Peterson | 5e55b3e | 2010-02-03 02:35:45 +0000 | [diff] [blame] | 16 |     a PyObject representing the empty string, only to be used if | 
 | 17 |     STRINGLIB_MUTABLE is 0 | 
| Thomas Wouters | 477c8d5 | 2006-05-27 19:21:47 +0000 | [diff] [blame] | 18 |  | 
| Thomas Wouters | 477c8d5 | 2006-05-27 19:21:47 +0000 | [diff] [blame] | 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) | 
| Gregory P. Smith | 60d241f | 2007-10-16 06:31:30 +0000 | [diff] [blame] | 32 |  | 
 | 33 | int STRINGLIB_CHECK_EXACT(PyObject *) | 
 | 34 |  | 
| Benjamin Peterson | 5e55b3e | 2010-02-03 02:35:45 +0000 | [diff] [blame] | 35 |     returns true if the object is an instance of our type, not a subclass | 
| Gregory P. Smith | 60d241f | 2007-10-16 06:31:30 +0000 | [diff] [blame] | 36 |  | 
 | 37 | STRINGLIB_MUTABLE | 
 | 38 |  | 
| Benjamin Peterson | 5e55b3e | 2010-02-03 02:35:45 +0000 | [diff] [blame] | 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 |