| Index: third_party/cython/src/Cython/Includes/cpython/bytes.pxd
|
| diff --git a/third_party/cython/src/Cython/Includes/cpython/bytes.pxd b/third_party/cython/src/Cython/Includes/cpython/bytes.pxd
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2fb350201539f5761b4276003c443daa741a7f28
|
| --- /dev/null
|
| +++ b/third_party/cython/src/Cython/Includes/cpython/bytes.pxd
|
| @@ -0,0 +1,198 @@
|
| +from cpython.ref cimport PyObject
|
| +
|
| +cdef extern from "Python.h":
|
| + ctypedef struct va_list
|
| +
|
| + ############################################################################
|
| + # 7.3.1 String Objects
|
| + ############################################################################
|
| +
|
| + # These functions raise TypeError when expecting a string
|
| + # parameter and are called with a non-string parameter.
|
| + # PyStringObject
|
| + # This subtype of PyObject represents a Python bytes object.
|
| + # PyTypeObject PyBytes_Type
|
| + # This instance of PyTypeObject represents the Python bytes type;
|
| + # it is the same object as bytes and types.BytesType in the Python
|
| + # layer.
|
| +
|
| + bint PyBytes_Check(object o)
|
| + # Return true if the object o is a string object or an instance of
|
| + # a subtype of the string type.
|
| +
|
| + bint PyBytes_CheckExact(object o)
|
| + # Return true if the object o is a string object, but not an instance of a subtype of the string type.
|
| +
|
| + bytes PyBytes_FromString(char *v)
|
| + # Return value: New reference.
|
| + # Return a new string object with the value v on success, and NULL
|
| + # on failure. The parameter v must not be NULL; it will not be
|
| + # checked.
|
| +
|
| + bytes PyBytes_FromStringAndSize(char *v, Py_ssize_t len)
|
| + # Return value: New reference.
|
| + # Return a new string object with the value v and length len on
|
| + # success, and NULL on failure. If v is NULL, the contents of the
|
| + # string are uninitialized.
|
| +
|
| + bytes PyBytes_FromFormat(char *format, ...)
|
| + # Return value: New reference.
|
| + # Take a C printf()-style format string and a variable number of
|
| + # arguments, calculate the size of the resulting Python string and
|
| + # return a string with the values formatted into it. The variable
|
| + # arguments must be C types and must correspond exactly to the
|
| + # format characters in the format string. The following format
|
| + # characters are allowed:
|
| + # Format Characters Type Comment
|
| + # %% n/a The literal % character.
|
| + # %c int A single character, represented as an C int.
|
| + # %d int Exactly equivalent to printf("%d").
|
| + # %u unsigned int Exactly equivalent to printf("%u").
|
| + # %ld long Exactly equivalent to printf("%ld").
|
| + # %lu unsigned long Exactly equivalent to printf("%lu").
|
| + # %zd Py_ssize_t Exactly equivalent to printf("%zd").
|
| + # %zu size_t Exactly equivalent to printf("%zu").
|
| + # %i int Exactly equivalent to printf("%i").
|
| + # %x int Exactly equivalent to printf("%x").
|
| + # %s char* A null-terminated C character array.
|
| +
|
| + # %p void* The hex representation of a C pointer.
|
| + # Mostly equivalent to printf("%p") except that it is guaranteed to
|
| + # start with the literal 0x regardless of what the platform's printf
|
| + # yields.
|
| + # An unrecognized format character causes all the rest of the
|
| + # format string to be copied as-is to the result string, and any
|
| + # extra arguments discarded.
|
| +
|
| + bytes PyBytes_FromFormatV(char *format, va_list vargs)
|
| + # Return value: New reference.
|
| + # Identical to PyBytes_FromFormat() except that it takes exactly two arguments.
|
| +
|
| + Py_ssize_t PyBytes_Size(object string) except -1
|
| + # Return the length of the string in string object string.
|
| +
|
| + Py_ssize_t PyBytes_GET_SIZE(object string)
|
| + # Macro form of PyBytes_Size() but without error checking.
|
| +
|
| + char* PyBytes_AsString(object string) except NULL
|
| + # Return a NUL-terminated representation of the contents of
|
| + # string. The pointer refers to the internal buffer of string, not
|
| + # a copy. The data must not be modified in any way, unless the
|
| + # string was just created using PyBytes_FromStringAndSize(NULL,
|
| + # size). It must not be deallocated. If string is a Unicode
|
| + # object, this function computes the default encoding of string
|
| + # and operates on that. If string is not a string object at all,
|
| + # PyBytes_AsString() returns NULL and raises TypeError.
|
| +
|
| + char* PyBytes_AS_STRING(object string)
|
| + # Macro form of PyBytes_AsString() but without error
|
| + # checking. Only string objects are supported; no Unicode objects
|
| + # should be passed.
|
| +
|
| + int PyBytes_AsStringAndSize(object obj, char **buffer, Py_ssize_t *length) except -1
|
| + # Return a NULL-terminated representation of the contents of the
|
| + # object obj through the output variables buffer and length.
|
| + #
|
| + # The function accepts both string and Unicode objects as
|
| + # input. For Unicode objects it returns the default encoded
|
| + # version of the object. If length is NULL, the resulting buffer
|
| + # may not contain NUL characters; if it does, the function returns
|
| + # -1 and a TypeError is raised.
|
| +
|
| + # The buffer refers to an internal string buffer of obj, not a
|
| + # copy. The data must not be modified in any way, unless the
|
| + # string was just created using PyBytes_FromStringAndSize(NULL,
|
| + # size). It must not be deallocated. If string is a Unicode
|
| + # object, this function computes the default encoding of string
|
| + # and operates on that. If string is not a string object at all,
|
| + # PyBytes_AsStringAndSize() returns -1 and raises TypeError.
|
| +
|
| + void PyBytes_Concat(PyObject **string, object newpart)
|
| + # Create a new string object in *string containing the contents of
|
| + # newpart appended to string; the caller will own the new
|
| + # reference. The reference to the old value of string will be
|
| + # stolen. If the new string cannot be created, the old reference
|
| + # to string will still be discarded and the value of *string will
|
| + # be set to NULL; the appropriate exception will be set.
|
| +
|
| + void PyBytes_ConcatAndDel(PyObject **string, object newpart)
|
| + # Create a new string object in *string containing the contents of
|
| + # newpart appended to string. This version decrements the
|
| + # reference count of newpart.
|
| +
|
| + int _PyBytes_Resize(PyObject **string, Py_ssize_t newsize) except -1
|
| + # A way to resize a string object even though it is
|
| + # ``immutable''. Only use this to build up a brand new string
|
| + # object; don't use this if the string may already be known in
|
| + # other parts of the code. It is an error to call this function if
|
| + # the refcount on the input string object is not one. Pass the
|
| + # address of an existing string object as an lvalue (it may be
|
| + # written into), and the new size desired. On success, *string
|
| + # holds the resized string object and 0 is returned; the address
|
| + # in *string may differ from its input value. If the reallocation
|
| + # fails, the original string object at *string is deallocated,
|
| + # *string is set to NULL, a memory exception is set, and -1 is
|
| + # returned.
|
| +
|
| + bytes PyBytes_Format(object format, object args)
|
| + # Return value: New reference. Return a new string object from
|
| + # format and args. Analogous to format % args. The args argument
|
| + # must be a tuple.
|
| +
|
| + void PyBytes_InternInPlace(PyObject **string)
|
| + # Intern the argument *string in place. The argument must be the
|
| + # address of a pointer variable pointing to a Python string
|
| + # object. If there is an existing interned string that is the same
|
| + # as *string, it sets *string to it (decrementing the reference
|
| + # count of the old string object and incrementing the reference
|
| + # count of the interned string object), otherwise it leaves
|
| + # *string alone and interns it (incrementing its reference
|
| + # count). (Clarification: even though there is a lot of talk about
|
| + # reference counts, think of this function as
|
| + # reference-count-neutral; you own the object after the call if
|
| + # and only if you owned it before the call.)
|
| +
|
| + bytes PyBytes_InternFromString(char *v)
|
| + # Return value: New reference.
|
| + # A combination of PyBytes_FromString() and
|
| + # PyBytes_InternInPlace(), returning either a new string object
|
| + # that has been interned, or a new (``owned'') reference to an
|
| + # earlier interned string object with the same value.
|
| +
|
| + object PyBytes_Decode(char *s, Py_ssize_t size, char *encoding, char *errors)
|
| + # Return value: New reference.
|
| + # Create an object by decoding size bytes of the encoded buffer s
|
| + # using the codec registered for encoding. encoding and errors
|
| + # have the same meaning as the parameters of the same name in the
|
| + # unicode() built-in function. The codec to be used is looked up
|
| + # using the Python codec registry. Return NULL if an exception was
|
| + # raised by the codec.
|
| +
|
| + object PyBytes_AsDecodedObject(object str, char *encoding, char *errors)
|
| + # Return value: New reference.
|
| + # Decode a string object by passing it to the codec registered for
|
| + # encoding and return the result as Python object. encoding and
|
| + # errors have the same meaning as the parameters of the same name
|
| + # in the string encode() method. The codec to be used is looked up
|
| + # using the Python codec registry. Return NULL if an exception was
|
| + # raised by the codec.
|
| +
|
| + object PyBytes_Encode(char *s, Py_ssize_t size, char *encoding, char *errors)
|
| + # Return value: New reference.
|
| + # Encode the char buffer of the given size by passing it to the
|
| + # codec registered for encoding and return a Python
|
| + # object. encoding and errors have the same meaning as the
|
| + # parameters of the same name in the string encode() method. The
|
| + # codec to be used is looked up using the Python codec
|
| + # registry. Return NULL if an exception was raised by the codec.
|
| +
|
| + object PyBytes_AsEncodedObject(object str, char *encoding, char *errors)
|
| + # Return value: New reference.
|
| + # Encode a string object using the codec registered for encoding
|
| + # and return the result as Python object. encoding and errors have
|
| + # the same meaning as the parameters of the same name in the
|
| + # string encode() method. The codec to be used is looked up using
|
| + # the Python codec registry. Return NULL if an exception was
|
| + # raised by the codec.
|
| +
|
| +
|
|
|