Skip to main content

Cast

Trait Cast 

Source
pub trait Cast: Element + Item {
    // Required method
    fn cast(view: View<'_>, item: usize) -> Result<Self, Error>;

    // Provided method
    fn extend_cast(
        view: View<'_>,
        len: usize,
        checked: bool,
        out: &mut Vec<Self>,
    ) -> Result<(), Error> { ... }
}
Expand description

Convert stored items using the destination dtype’s checked conversion.

Required Methods§

Source

fn cast(view: View<'_>, item: usize) -> Result<Self, Error>

Item item of view, or an error where it doesn’t convert.

Provided Methods§

Source

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<Self>, ) -> Result<(), Error>

Appends the first len items of view to out, each as Cast::cast converts it and [kept] keeps it. Element types override this with one typed loop for each source dtype they read often.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl Cast for bool

Source§

fn cast(view: View<'_>, item: usize) -> Result<bool, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<bool>, ) -> Result<(), Error>

Source§

impl Cast for char

Source§

fn cast(view: View<'_>, item: usize) -> Result<char, Error>

Source§

impl Cast for f32

Source§

fn cast(view: View<'_>, item: usize) -> Result<f32, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<f32>, ) -> Result<(), Error>

Source§

impl Cast for f64

Source§

fn cast(view: View<'_>, item: usize) -> Result<f64, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<f64>, ) -> Result<(), Error>

Source§

impl Cast for i16

Source§

fn cast(view: View<'_>, item: usize) -> Result<i16, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<i16>, ) -> Result<(), Error>

Source§

impl Cast for i32

Source§

fn cast(view: View<'_>, item: usize) -> Result<i32, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<i32>, ) -> Result<(), Error>

Source§

impl Cast for i64

Source§

fn cast(view: View<'_>, item: usize) -> Result<i64, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<i64>, ) -> Result<(), Error>

Source§

impl Cast for u8

Source§

fn cast(view: View<'_>, item: usize) -> Result<u8, Error>

Source§

fn extend_cast( view: View<'_>, len: usize, checked: bool, out: &mut Vec<u8>, ) -> Result<(), Error>

Implementors§