Skip to main content

AltVec

Trait AltVec 

Source
pub trait AltVec: Altrep {
    const HAS_DATAPTR: bool = false;
    const HAS_DATAPTR_OR_NULL: bool = false;
    const HAS_EXTRACT_SUBSET: bool = false;

    // Provided methods
    fn dataptr(_x: SEXP, _writable: bool) -> *mut c_void { ... }
    fn dataptr_or_null(_x: SEXP) -> *const c_void { ... }
    fn extract_subset(_x: SEXP, _indx: SEXP, _call: SEXP) -> SEXP { ... }
}
Expand description

Vector-level methods.

All methods are optional with HAS_* gating.

Provided Associated Constants§

Source

const HAS_DATAPTR: bool = false

Set to true to register dataptr.

Source

const HAS_DATAPTR_OR_NULL: bool = false

Set to true to register dataptr_or_null.

Source

const HAS_EXTRACT_SUBSET: bool = false

Set to true to register extract_subset.

Provided Methods§

Source

fn dataptr(_x: SEXP, _writable: bool) -> *mut c_void

Get raw data pointer.

Source

fn dataptr_or_null(_x: SEXP) -> *const c_void

Get data pointer without forcing materialization.

Source

fn extract_subset(_x: SEXP, _indx: SEXP, _call: SEXP) -> SEXP

Optimized subsetting.

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 AltVec for &'static [&'static str]

Source§

impl AltVec for &'static [String]

Source§

impl AltVec for &'static [bool]

Source§

impl AltVec for &'static [f64]

Source§

impl AltVec for &'static [i32]

Source§

impl AltVec for &'static [u8]

Source§

impl AltVec for Box<[Rcomplex]>

Source§

impl AltVec for Box<[String]>

Source§

impl AltVec for Box<[bool]>

Source§

impl AltVec for Box<[f64]>

Source§

impl AltVec for Box<[i32]>

Source§

impl AltVec for Box<[u8]>

Source§

impl AltVec for Cow<'static, [Rcomplex]>

Source§

impl AltVec for Cow<'static, [f64]>

Source§

impl AltVec for Cow<'static, [i32]>

Source§

impl AltVec for Cow<'static, [u8]>

Source§

impl AltVec for Range<f64>

Source§

impl AltVec for Range<i32>

Source§

impl AltVec for Range<i64>

Source§

impl AltVec for Vec<Cow<'static, str>>

Source§

impl AltVec for Vec<Option<Cow<'static, str>>>

Source§

impl AltVec for Vec<Option<String>>

Source§

impl AltVec for Vec<Rcomplex>

Source§

impl AltVec for Vec<String>

Source§

impl AltVec for Vec<bool>

Source§

impl AltVec for Vec<f64>

Source§

impl AltVec for Vec<i32>

Source§

impl AltVec for Vec<u8>

Source§

impl<const N: usize> AltVec for [Rcomplex; N]

Source§

const HAS_DATAPTR: bool = true

Source§

fn dataptr(x: SEXP, _writable: bool) -> *mut c_void

Source§

impl<const N: usize> AltVec for [String; N]

Source§

impl<const N: usize> AltVec for [bool; N]

Source§

impl<const N: usize> AltVec for [f64; N]

Source§

const HAS_DATAPTR: bool = true

Source§

fn dataptr(x: SEXP, _writable: bool) -> *mut c_void

Source§

impl<const N: usize> AltVec for [i32; N]

Source§

const HAS_DATAPTR: bool = true

Source§

fn dataptr(x: SEXP, _writable: bool) -> *mut c_void

Source§

impl<const N: usize> AltVec for [u8; N]

Source§

const HAS_DATAPTR: bool = true

Source§

fn dataptr(x: SEXP, _writable: bool) -> *mut c_void

Implementors§