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