Files
Daryl McDaniel 53b2ba5790 AppPkg/Applications/Python/Python-2.7.10: Initial Checkin part 3/5.
The Objects directory from the cPython 2.7.10 distribution, along with the LICENSE and README files.  These files are unchanged and set the baseline for subsequent commits.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <edk2-lists@mc2research.org>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18739 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-07 19:29:24 +00:00
..

bits shared by the stringobject 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 or Py_UNICODE)



STRINGLIB_EMPTY



    a PyObject representing the empty string, only to be used if

    STRINGLIB_MUTABLE is 0



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