Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
allendowney
GitHub Repository: allendowney/cpython
Path: blob/main/Objects/stringlib/README.txt
12 views
1
bits shared by the bytesobject and unicodeobject implementations (and
2
possibly other modules, in a not too distant future).
3
4
the stuff in here is included into relevant places; see the individual
5
source files for details.
6
7
--------------------------------------------------------------------
8
the following defines used by the different modules:
9
10
STRINGLIB_CHAR
11
12
the type used to hold a character (char, Py_UCS1, Py_UCS2 or Py_UCS4)
13
14
STRINGLIB_GET_EMPTY()
15
16
returns a PyObject representing the empty string, only to be used if
17
STRINGLIB_MUTABLE is 0. It must not be NULL.
18
19
Py_ssize_t STRINGLIB_LEN(PyObject*)
20
21
returns the length of the given string object (which must be of the
22
right type)
23
24
PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
25
26
creates a new string object
27
28
STRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
29
30
returns the pointer to the character data for the given string
31
object (which must be of the right type)
32
33
int STRINGLIB_CHECK_EXACT(PyObject *)
34
35
returns true if the object is an instance of our type, not a subclass
36
37
STRINGLIB_MUTABLE
38
39
must be 0 or 1 to tell the cpp macros in stringlib code if the object
40
being operated on is mutable or not
41
42