pub struct PyMemoryView { /* private fields */ }
Implementations§
Source§impl PyMemoryView
impl PyMemoryView
Sourcepub fn from_object(obj: &PyObject, vm: &VirtualMachine) -> PyResult<Self>
pub fn from_object(obj: &PyObject, vm: &VirtualMachine) -> PyResult<Self>
this should be the main entrance to create the memoryview to avoid the chained memoryview
Sourcepub fn from_buffer(buffer: PyBuffer, vm: &VirtualMachine) -> PyResult<Self>
pub fn from_buffer(buffer: PyBuffer, vm: &VirtualMachine) -> PyResult<Self>
don’t use this function to create the memoryview if the buffer is exporting via another memoryview, use PyMemoryView::new_view() or PyMemoryView::from_object to reduce the chain
Sourcepub fn from_buffer_range(
buffer: PyBuffer,
range: Range<usize>,
vm: &VirtualMachine,
) -> PyResult<Self>
pub fn from_buffer_range( buffer: PyBuffer, range: Range<usize>, vm: &VirtualMachine, ) -> PyResult<Self>
don’t use this function to create the memeoryview if the buffer is exporting via another memoryview, use PyMemoryView::new_view() or PyMemoryView::from_object to reduce the chain
Sourcepub fn new_view(&self) -> Self
pub fn new_view(&self) -> Self
this should be the only way to create a memoryview from another memoryview
Sourcepub fn to_contiguous(&self, vm: &VirtualMachine) -> PyBuffer
pub fn to_contiguous(&self, vm: &VirtualMachine) -> PyBuffer
clone data from memoryview keep the shape, convert to contiguous
Source§impl PyMemoryView
impl PyMemoryView
Trait Implementations§
Source§impl AsBuffer for PyMemoryView
impl AsBuffer for PyMemoryView
fn as_buffer(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyBuffer>
fn slot_as_buffer(zelf: &PyObject, vm: &VirtualMachine) -> PyResult<PyBuffer>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl AsMapping for PyMemoryView
impl AsMapping for PyMemoryView
fn as_mapping() -> &'static PyMappingMethods
fn mapping_downcast(mapping: PyMapping<'_>) -> &Py<Self>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl AsSequence for PyMemoryView
impl AsSequence for PyMemoryView
fn as_sequence() -> &'static PySequenceMethods
fn sequence_downcast(seq: PySequence<'_>) -> &Py<Self>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Comparable for PyMemoryView
impl Comparable for PyMemoryView
fn cmp( zelf: &Py<Self>, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn slot_richcompare( zelf: &PyObject, other: &PyObject, op: PyComparisonOp, vm: &VirtualMachine, ) -> PyResult<Either<PyObjectRef, PyComparisonValue>>
fn eq( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ne( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn lt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn le( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn ge( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
fn gt( zelf: &Py<Self>, other: PyObjectRef, vm: &VirtualMachine, ) -> PyResult<PyComparisonValue>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Constructor for PyMemoryView
impl Constructor for PyMemoryView
type Args = PyMemoryViewNewArgs
fn py_new(cls: PyTypeRef, args: Self::Args, vm: &VirtualMachine) -> PyResult
fn slot_new(cls: PyTypeRef, args: FuncArgs, vm: &VirtualMachine) -> PyResult
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Debug for PyMemoryView
impl Debug for PyMemoryView
Source§impl Drop for PyMemoryView
impl Drop for PyMemoryView
Source§impl Hashable for PyMemoryView
impl Hashable for PyMemoryView
fn hash(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyHash>
fn slot_hash(zelf: &PyObject, vm: &VirtualMachine) -> PyResult<PyHash>
fn __hash__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyHash>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl Iterable for PyMemoryView
impl Iterable for PyMemoryView
fn iter(zelf: PyRef<Self>, vm: &VirtualMachine) -> PyResult
fn slot_iter(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult
fn __iter__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult
fn extend_slots(_slots: &mut PyTypeSlots)
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl MaybeTraverse for PyMemoryView
impl MaybeTraverse for PyMemoryView
fn try_traverse(&self, tracer_fn: &mut TraverseFn<'_>)
Source§impl PyClassDef for PyMemoryView
impl PyClassDef for PyMemoryView
Source§impl PyClassImpl for PyMemoryView
impl PyClassImpl for PyMemoryView
const TP_FLAGS: PyTypeFlags
const METHOD_DEFS: &'static [PyMethodDef]
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>)
fn extend_slots(slots: &mut PyTypeSlots)
fn extend_class(ctx: &Context, class: &'static Py<PyType>)where
Self: Sized,
fn make_class(ctx: &Context) -> PyTypeRefwhere
Self: StaticType + Sized,
fn make_slots() -> PyTypeSlots
Source§impl PyPayload for PyMemoryView
impl PyPayload for PyMemoryView
fn class(ctx: &Context) -> &'static Py<PyType>
fn into_pyobject(self, vm: &VirtualMachine) -> PyObjectRef
fn _into_ref(self, cls: PyTypeRef, ctx: &Context) -> PyRef<Self>
fn into_exact_ref(self, ctx: &Context) -> PyRefExact<Self>
fn into_ref(self, ctx: &Context) -> PyRef<Self>
fn into_ref_with_type( self, vm: &VirtualMachine, cls: PyTypeRef, ) -> PyResult<PyRef<Self>>
Source§impl Representable for PyMemoryView
impl Representable for PyMemoryView
fn repr_str(zelf: &Py<Self>, _vm: &VirtualMachine) -> PyResult<String>
fn slot_repr(zelf: &PyObject, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn __repr__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn repr(zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyStrRef>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl StaticType for PyMemoryView
impl StaticType for PyMemoryView
fn static_cell() -> &'static StaticCell<PyTypeRef>
fn static_metaclass() -> &'static Py<PyType>
fn static_baseclass() -> &'static Py<PyType>
fn static_type() -> &'static Py<PyType>
fn init_manually(typ: PyTypeRef) -> &'static Py<PyType>
fn init_builtin_type() -> &'static Py<PyType>where
Self: PyClassImpl,
fn create_static_type() -> PyTypeRefwhere
Self: PyClassImpl,
Auto Trait Implementations§
impl !Freeze for PyMemoryView
impl !RefUnwindSafe for PyMemoryView
impl !Send for PyMemoryView
impl !Sync for PyMemoryView
impl Unpin for PyMemoryView
impl !UnwindSafe for PyMemoryView
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more