cpython/Objects/stringlib
Victor Stinner c3cec7868b Add asciilib: similar to ucs1, ucs2 and ucs4 library, but specialized to ASCII
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.
2011-10-05 21:24:08 +02:00
..
README.txt Merged revisions 77937 via svnmerge from 2010-02-03 02:43:37 +00:00
asciilib.h Add asciilib: similar to ucs1, ucs2 and ucs4 library, but specialized to ASCII 2011-10-05 21:24:08 +02:00
count.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
ctype.h Merged revisions 77461 via svnmerge from 2010-01-13 08:07:53 +00:00
eq.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
fastsearch.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
find.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
localeutil.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
partition.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
split.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
stringdefs.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
transmogrify.h Recorded merge of revisions 81032 via svnmerge from 2010-05-09 16:14:21 +00:00
ucs1lib.h Mark PyUnicode_FromUCS[124] as private 2011-09-28 22:20:48 +02:00
ucs2lib.h Mark PyUnicode_FromUCS[124] as private 2011-09-28 22:20:48 +02:00
ucs4lib.h Mark PyUnicode_FromUCS[124] as private 2011-09-28 22:20:48 +02:00
undef.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
unicode_format.h Implement PEP 393. 2011-09-28 07:41:54 +02:00
unicodedefs.h Implement PEP 393. 2011-09-28 07:41:54 +02:00

README.txt

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