Lines Matching defs:mbuf
73 _PyManagedBufferObject *mbuf;
75 mbuf = (_PyManagedBufferObject *)
77 if (mbuf == NULL)
79 mbuf->flags = 0;
80 mbuf->exports = 0;
81 mbuf->master.obj = NULL;
82 _PyObject_GC_TRACK(mbuf);
84 return mbuf;
90 _PyManagedBufferObject *mbuf;
92 mbuf = mbuf_alloc();
93 if (mbuf == NULL)
96 if (PyObject_GetBuffer(base, &mbuf->master, PyBUF_FULL_RO) < 0) {
97 mbuf->master.obj = NULL;
98 Py_DECREF(mbuf);
102 return (PyObject *)mbuf;
180 ((PyMemoryViewObject *)mv)->mbuf->flags&_Py_MANAGED_BUFFER_RELEASED)
637 mv->mbuf = NULL;
652 Return a new memoryview that is registered with mbuf. If src is NULL,
653 use mbuf->master as the underlying buffer. Otherwise, use src.
660 mbuf_add_view(_PyManagedBufferObject *mbuf, const Py_buffer *src)
666 src = &mbuf->master;
685 mv->mbuf = mbuf;
686 Py_INCREF(mbuf);
687 mbuf->exports++;
698 mbuf_add_incomplete_view(_PyManagedBufferObject *mbuf, const Py_buffer *src,
705 src = &mbuf->master;
716 mv->mbuf = mbuf;
717 Py_INCREF(mbuf);
718 mbuf->exports++;
729 _PyManagedBufferObject *mbuf;
736 mbuf = mbuf_alloc();
737 if (mbuf == NULL)
741 (void)PyBuffer_FillInfo(&mbuf->master, NULL, mem, size, readonly,
744 mv = mbuf_add_view(mbuf, NULL);
745 Py_DECREF(mbuf);
758 _PyManagedBufferObject *mbuf;
767 mbuf = mbuf_alloc();
768 if (mbuf == NULL)
773 mbuf->master = *info;
774 mbuf->master.obj = NULL;
776 mv = mbuf_add_view(mbuf, NULL);
777 Py_DECREF(mbuf);
788 _PyManagedBufferObject *mbuf;
793 return mbuf_add_view(mv->mbuf, &mv->view);
797 mbuf = (_PyManagedBufferObject *)_PyManagedBuffer_FromObject(v);
798 if (mbuf == NULL)
800 ret = mbuf_add_view(mbuf, NULL);
801 Py_DECREF(mbuf);
813 mbuf_copy_format(_PyManagedBufferObject *mbuf, const char *fmt)
821 mbuf->master.format = strcpy(cp, fmt);
822 mbuf->flags |= _Py_MANAGED_BUFFER_FREE_FORMAT;
843 _PyManagedBufferObject *mbuf;
856 mbuf = (_PyManagedBufferObject *)_PyManagedBuffer_FromObject(bytes);
858 if (mbuf == NULL)
861 if (mbuf_copy_format(mbuf, src->format) < 0) {
862 Py_DECREF(mbuf);
866 mv = (PyMemoryViewObject *)mbuf_add_incomplete_view(mbuf, NULL, src->ndim);
867 Py_DECREF(mbuf);
1042 assert(self->mbuf->exports > 0);
1043 if (--self->mbuf->exports == 0)
1044 mbuf_release(self->mbuf);
1080 Py_CLEAR(self->mbuf);
1089 Py_VISIT(self->mbuf);
1097 Py_CLEAR(self->mbuf);
1402 mbuf_add_incomplete_view(self->mbuf, &self->view, ndim==0 ? 1 : (int)ndim);
1432 self = (PyMemoryViewObject *) mbuf_add_view(self->mbuf, &self->view);
2506 sliced = (PyMemoryViewObject *)mbuf_add_view(self->mbuf, view);