#include "Python.h"
#include <stddef.h>
PyPickleBufferObject;
PyObject *
PyPickleBuffer_FromObject(PyObject *base)
{ … }
const Py_buffer *
PyPickleBuffer_GetBuffer(PyObject *obj)
{ … }
int
PyPickleBuffer_Release(PyObject *obj)
{ … }
static PyObject *
picklebuf_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{ … }
static int
picklebuf_traverse(PyPickleBufferObject *self, visitproc visit, void *arg)
{ … }
static int
picklebuf_clear(PyPickleBufferObject *self)
{ … }
static void
picklebuf_dealloc(PyPickleBufferObject *self)
{ … }
static int
picklebuf_getbuf(PyPickleBufferObject *self, Py_buffer *view, int flags)
{ … }
static void
picklebuf_releasebuf(PyPickleBufferObject *self, Py_buffer *view)
{ … }
static PyBufferProcs picklebuf_as_buffer = …;
static PyObject *
picklebuf_raw(PyPickleBufferObject *self, PyObject *Py_UNUSED(ignored))
{ … }
PyDoc_STRVAR(picklebuf_raw_doc,
"raw($self, /)\n--\n\
\n\
Return a memoryview of the raw memory underlying this buffer.\n\
Will raise BufferError is the buffer isn't contiguous.");
static PyObject *
picklebuf_release(PyPickleBufferObject *self, PyObject *Py_UNUSED(ignored))
{ … }
PyDoc_STRVAR(picklebuf_release_doc,
"release($self, /)\n--\n\
\n\
Release the underlying buffer exposed by the PickleBuffer object.");
static PyMethodDef picklebuf_methods[] = …;
PyTypeObject PyPickleBuffer_Type = …;