17db96d56Sopenharmony_cibits shared by the bytesobject and unicodeobject implementations (and
27db96d56Sopenharmony_cipossibly other modules, in a not too distant future).
37db96d56Sopenharmony_ci
47db96d56Sopenharmony_cithe stuff in here is included into relevant places; see the individual
57db96d56Sopenharmony_cisource files for details.
67db96d56Sopenharmony_ci
77db96d56Sopenharmony_ci--------------------------------------------------------------------
87db96d56Sopenharmony_cithe following defines used by the different modules:
97db96d56Sopenharmony_ci
107db96d56Sopenharmony_ciSTRINGLIB_CHAR
117db96d56Sopenharmony_ci
127db96d56Sopenharmony_ci    the type used to hold a character (char or Py_UNICODE)
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_ciSTRINGLIB_GET_EMPTY()
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ci    returns a PyObject representing the empty string, only to be used if
177db96d56Sopenharmony_ci    STRINGLIB_MUTABLE is 0. It must not be NULL.
187db96d56Sopenharmony_ci
197db96d56Sopenharmony_ciPy_ssize_t STRINGLIB_LEN(PyObject*)
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci    returns the length of the given string object (which must be of the
227db96d56Sopenharmony_ci    right type)
237db96d56Sopenharmony_ci
247db96d56Sopenharmony_ciPyObject* STRINGLIB_NEW(STRINGLIB_CHAR*, Py_ssize_t)
257db96d56Sopenharmony_ci
267db96d56Sopenharmony_ci    creates a new string object
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ciSTRINGLIB_CHAR* STRINGLIB_STR(PyObject*)
297db96d56Sopenharmony_ci
307db96d56Sopenharmony_ci    returns the pointer to the character data for the given string
317db96d56Sopenharmony_ci    object (which must be of the right type)
327db96d56Sopenharmony_ci
337db96d56Sopenharmony_ciint STRINGLIB_CHECK_EXACT(PyObject *)
347db96d56Sopenharmony_ci
357db96d56Sopenharmony_ci    returns true if the object is an instance of our type, not a subclass
367db96d56Sopenharmony_ci
377db96d56Sopenharmony_ciSTRINGLIB_MUTABLE
387db96d56Sopenharmony_ci
397db96d56Sopenharmony_ci    must be 0 or 1 to tell the cpp macros in stringlib code if the object
407db96d56Sopenharmony_ci    being operated on is mutable or not
41