pub struct PyByteArray(/* private fields */);Expand description
Represents a Python bytearray.
Values of this type are accessed via PyO3’s smart pointers, e.g. as
Py<PyByteArray> or Bound<'py, PyByteArray>.
For APIs available on bytearray objects, see the PyByteArrayMethods trait which is implemented for
Bound<'py, PyByteArray>.
Implementations§
Source§impl PyByteArray
impl PyByteArray
Sourcepub fn new<'py>(py: Python<'py>, src: &[u8]) -> Bound<'py, PyByteArray>
pub fn new<'py>(py: Python<'py>, src: &[u8]) -> Bound<'py, PyByteArray>
Creates a new Python bytearray object.
The byte string is initialized by copying the data from the &[u8].
Sourcepub fn new_with<F>(
py: Python<'_>,
len: usize,
init: F,
) -> PyResult<Bound<'_, PyByteArray>>
pub fn new_with<F>( py: Python<'_>, len: usize, init: F, ) -> PyResult<Bound<'_, PyByteArray>>
Creates a new Python bytearray object with an init closure to write its contents.
Before calling init the bytearray is zero-initialised.
- If Python raises a MemoryError on the allocation,
new_withwill return it insideErr. - If
initreturnsErr(e),new_withwill returnErr(e). - If
initreturnsOk(()),new_withwill returnOk(&PyByteArray).
§Examples
use pyo3::{prelude::*, types::PyByteArray};
Python::attach(|py| -> PyResult<()> {
let py_bytearray = PyByteArray::new_with(py, 10, |bytes: &mut [u8]| {
bytes.copy_from_slice(b"Hello Rust");
Ok(())
})?;
let bytearray: &[u8] = unsafe { py_bytearray.as_bytes() };
assert_eq!(bytearray, b"Hello Rust");
Ok(())
})Trait Implementations§
Source§impl PyTypeInfo for PyByteArray
impl PyTypeInfo for PyByteArray
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
Source§fn is_type_of(obj: &Bound<'_, PyAny>) -> bool
fn is_type_of(obj: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type or a subclass of this type.impl DerefToPyAny for PyByteArray
Auto Trait Implementations§
impl !Freeze for PyByteArray
impl !RefUnwindSafe for PyByteArray
impl !Send for PyByteArray
impl !Sync for PyByteArray
impl Unpin for PyByteArray
impl UnwindSafe for PyByteArray
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