cpython/Objects/stringlib
Eric Smith a9f7d62480 Backport of PEP 3101, Advanced String Formatting, from py3k.
Highlights:
 - Adding PyObject_Format.
 - Adding string.Format class.
 - Adding __format__ for str, unicode, int, long, float, datetime.
 - Adding builtin format.
 - Adding ''.format and u''.format.
 - str/unicode fixups for formatters.

The files in Objects/stringlib that implement PEP 3101 (stringdefs.h,
unicodedefs.h, formatter.h, string_format.h) are identical in trunk
and py3k.  Any changes from here on should be made to trunk, and
changes will propogate to py3k).
2008-02-17 19:46:49 +00:00
..
README.txt needforspeed: more stringlib refactoring 2006-05-27 10:05:10 +00:00
count.h changed count to return 0 for slices outside the source string 2006-05-30 17:39:58 +00:00
fastsearch.h needforspeed: replace improvements, changed to Py_LOCAL_INLINE 2006-05-27 14:58:20 +00:00
find.h Made _ParseTupleFinds only defined to unicodeobject.c 2007-11-16 19:16:15 +00:00
formatter.h Backport of PEP 3101, Advanced String Formatting, from py3k. 2008-02-17 19:46:49 +00:00
partition.h Fix endcase for str.rpartition() 2006-09-04 15:32:48 +00:00
string_format.h Backport of PEP 3101, Advanced String Formatting, from py3k. 2008-02-17 19:46:49 +00:00
stringdefs.h Backport of PEP 3101, Advanced String Formatting, from py3k. 2008-02-17 19:46:49 +00:00
unicodedefs.h Backport of PEP 3101, Advanced String Formatting, from py3k. 2008-02-17 19:46:49 +00: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

int STRINGLIB_CMP(STRINGLIB_CHAR*, STRINGLIB_CHAR*, Py_ssize_t)

    compares two strings. returns 0 if they match, and non-zero if not.

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)