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_bound<'py>(py: Python<'py>, src: &[u8]) -> Bound<'py, PyByteArray>
👎Deprecated since 0.23.0: renamed to PyByteArray::new
pub fn new_bound<'py>(py: Python<'py>, src: &[u8]) -> Bound<'py, PyByteArray>
PyByteArray::newDeprecated name for PyByteArray::new.
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::with_gil(|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(())
})Sourcepub fn new_bound_with<F>(
py: Python<'_>,
len: usize,
init: F,
) -> PyResult<Bound<'_, PyByteArray>>
👎Deprecated since 0.23.0: renamed to PyByteArray::new_with
pub fn new_bound_with<F>( py: Python<'_>, len: usize, init: F, ) -> PyResult<Bound<'_, PyByteArray>>
PyByteArray::new_withDeprecated name for PyByteArray::new_with.
Sourcepub fn from<'py>(src: &Bound<'py, PyAny>) -> PyResult<Bound<'py, PyByteArray>>
pub fn from<'py>(src: &Bound<'py, PyAny>) -> PyResult<Bound<'py, PyByteArray>>
Creates a new Python bytearray object from another Python object that
implements the buffer protocol.
Sourcepub fn from_bound<'py>(
src: &Bound<'py, PyAny>,
) -> PyResult<Bound<'py, PyByteArray>>
👎Deprecated since 0.23.0: renamed to PyByteArray::from
pub fn from_bound<'py>( src: &Bound<'py, PyAny>, ) -> PyResult<Bound<'py, PyByteArray>>
PyByteArray::fromDeprecated name for PyByteArray::from.
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.Source§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
Source§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::type_objectDeprecated name for
PyTypeInfo::type_object.Source§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::is_type_ofDeprecated name for
PyTypeInfo::is_type_of.Source§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type.Source§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
👎Deprecated since 0.23.0: renamed to
PyTypeInfo::is_exact_type_ofDeprecated name for
PyTypeInfo::is_exact_type_of.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