Skip to content

Files

This branch is 8915 commits behind python/cpython:main.

stringlib

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 13, 2022
Jun 1, 2023
May 24, 2022
Jun 1, 2023
Oct 11, 2022
Feb 12, 2020
May 13, 2022
Sep 13, 2022
May 4, 2016
Mar 31, 2021
Nov 10, 2022
May 13, 2022
Jun 23, 2020
May 24, 2022
Feb 7, 2022
May 24, 2022
Sep 13, 2022
Nov 10, 2022
May 24, 2022
May 24, 2022
May 24, 2022
May 24, 2022
Jul 2, 2023
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, Py_UCS1, Py_UCS2 or Py_UCS4)

STRINGLIB_GET_EMPTY()

    returns a PyObject representing the empty string, only to be used if
    STRINGLIB_MUTABLE is 0. It must not be NULL.

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