mirror of
https://github.com/python/cpython.git
synced 2025-11-11 14:44:57 +00:00
ucs1, ucs2 and ucs4 libraries have to scan created substring to find the maximum character, whereas it is not need to ASCII strings. Because ASCII strings are common, it is useful to optimize ASCII. |
||
|---|---|---|
| .. | ||
| asciilib.h | ||
| count.h | ||
| ctype.h | ||
| eq.h | ||
| fastsearch.h | ||
| find.h | ||
| localeutil.h | ||
| partition.h | ||
| README.txt | ||
| split.h | ||
| stringdefs.h | ||
| transmogrify.h | ||
| ucs1lib.h | ||
| ucs2lib.h | ||
| ucs4lib.h | ||
| undef.h | ||
| unicode_format.h | ||
| unicodedefs.h | ||
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