mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	|  e7bf86cd7d Issue #25318: Optimize backslashreplace and xmlcharrefreplace error handlers in UTF-8 encoder. Optimize also backslashreplace error handler for ASCII and Latin1 encoders. Use the new _PyBytesWriter API to optimize these error handlers for the encoders. It avoids to create an exception and call the slow implementation of the error handler. | ||
|---|---|---|
| .. | ||
| asciilib.h | ||
| codecs.h | ||
| count.h | ||
| ctype.h | ||
| eq.h | ||
| fastsearch.h | ||
| find.h | ||
| find_max_char.h | ||
| join.h | ||
| localeutil.h | ||
| partition.h | ||
| README.txt | ||
| replace.h | ||
| split.h | ||
| stringdefs.h | ||
| transmogrify.h | ||
| ucs1lib.h | ||
| ucs2lib.h | ||
| ucs4lib.h | ||
| undef.h | ||
| unicode_format.h | ||
| unicodedefs.h | ||
bits shared by the bytesobject 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