Skip to main content

AsCopySource

Struct AsCopySource 

Source
pub struct AsCopySource<'lt, E> { /* private fields */ }
Expand description

Borrows from a data source to read from it data into images.

The type parameter is the layout engine which defines the byte spans of data to be copied and in doing so controls the overhead of the operation. Note that the type must implement a sealed trait for all the main algorithms. The respective constructors on DataRef, DataMut, DataCells choose this parameter.

Implementations§

Source§

impl<'buf, E: LayoutEngine> AsCopySource<'buf, E>

Source

pub fn and_relocated( self, offset: AlignedOffset, ) -> AsCopySource<'buf, RelocateEngine<E>>
where E::Layout: Clone,

Offset the target location of this copy operation, to anther planar location.

Source§

impl<E: LayoutEngine> AsCopySource<'_, E>

Source

pub fn write_to_image(self, buffer: Image<Bytes>) -> Image<E::Layout>

Write to an image, changing the layout in the process.

Reallocates the image buffer when necessary to ensure that the allocated buffer fits the new data’s layout.

Source

pub fn write_to_mut<'data>( self, buffer: ImageMut<'data, Bytes>, ) -> Option<ImageMut<'data, E::Layout>>

Write to a mutable borrowed buffer with layout.

First verifies that the data will fit into the target. Then returns Some with a new reference to the target buffer that is using the data’s layout. Otherwise, returns None.

Source

pub fn write_to_cell_image( self, buffer: CellImage<Bytes>, ) -> Option<CellImage<E::Layout>>
where E::Layout: Clone + Layout,

Write to an image, changing the layout in the process.

Fails when allocated buffer does not fits the new data’s layout.

Source

pub fn write_to_cell_ref<'data>( self, buffer: CellImageRef<'data, Bytes>, ) -> Option<CellImageRef<'data, E::Layout>>

Write to a locally shared buffer with layout.

First verifies that the data will fit into the target. Then returns Some with a new reference to the target buffer that is using the data’s layout. Otherwise, returns None.

Source

pub fn write_to_atomic_image( self, buffer: AtomicImage<Bytes>, ) -> Option<AtomicImage<E::Layout>>
where E::Layout: Clone + Layout,

Write to an image, changing the layout in the process.

Fails when allocated buffer does not fits the new data’s layout.

Source

pub fn write_to_atomic_ref<'data>( self, buffer: AtomicImageRef<'data, Bytes>, ) -> Option<AtomicImageRef<'data, E::Layout>>
where E::Layout: Clone + Layout,

Write to a mutable borrowed buffer with layout.

First verifies that the data will fit into the target. Then returns Some with a new reference to the target buffer that is using the data’s layout. Otherwise, returns None.

Auto Trait Implementations§

§

impl<'lt, E> !RefUnwindSafe for AsCopySource<'lt, E>

§

impl<'lt, E> !Send for AsCopySource<'lt, E>

§

impl<'lt, E> !Sync for AsCopySource<'lt, E>

§

impl<'lt, E> !UnwindSafe for AsCopySource<'lt, E>

§

impl<'lt, E> Freeze for AsCopySource<'lt, E>
where E: Freeze,

§

impl<'lt, E> Unpin for AsCopySource<'lt, E>
where E: Unpin,

§

impl<'lt, E> UnsafeUnpin for AsCopySource<'lt, E>
where E: UnsafeUnpin,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, L> PlaneOf<&L> for P
where P: PlaneOf<L>,

Source§

type Plane = <P as PlaneOf<L>>::Plane

Source§

fn get_plane(self, layout: &&L) -> Option<<P as PlaneOf<&L>>::Plane>

Get the layout describing the plane.
Source§

impl<P, L> PlaneOf<&mut L> for P
where P: PlaneOf<L>,

Source§

type Plane = <P as PlaneOf<L>>::Plane

Source§

fn get_plane(self, layout: &&mut L) -> Option<<P as PlaneOf<&mut L>>::Plane>

Get the layout describing the plane.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.