• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1bits shared by the bytesobject and unicodeobject implementations (and
2possibly other modules, in a not too distant future).
3
4the stuff in here is included into relevant places; see the individual
5source files for details.
6
7--------------------------------------------------------------------
8the following defines used by the different modules:
9
10STRINGLIB_CHAR
11
12    the type used to hold a character (char or Py_UNICODE)
13
14STRINGLIB_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
19Py_ssize_t STRINGLIB_LEN(PyObject*)
20
21    returns the length of the given string object (which must be of the
22    right type)
23
24PyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
25
26    creates a new string object
27
28STRINGLIB_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
33int STRINGLIB_CHECK_EXACT(PyObject *)
34
35    returns true if the object is an instance of our type, not a subclass
36
37STRINGLIB_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