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", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AltVec for &'static [&'static str]

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 &'static [String]

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 Cow<'static, [Rcomplex]>

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 Box<[Rcomplex]>

Source§

impl AltVec for Box<[String]>

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<bool>

Source§

impl AltVec for Vec<f64>

Source§

impl AltVec for Vec<i32>

Source§

impl AltVec for Vec<u8>

Source§

impl AltVec for Vec<Rcomplex>

Source§

impl AltVec for Vec<String>

Source§

impl AltVec for Range<f64>

Source§

impl AltVec for Range<i32>

Source§

impl AltVec for Range<i64>

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

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]

Implementors§

Source§

impl<F: Fn(usize, &mut [f64]) -> usize + 'static> AltVec for StreamingRealData<F>

Source§

impl<F: Fn(usize, &mut [i32]) -> usize + 'static> AltVec for StreamingIntData<F>

Source§

impl<I, T> AltVec for IterIntCoerceData<I, T>
where I: Iterator<Item = T> + 'static, T: Coerce<i32> + Copy + 'static,

Source§

impl<I, T> AltVec for IterRealCoerceData<I, T>
where I: Iterator<Item = T> + 'static, T: Coerce<f64> + Copy + 'static,

Source§

impl<I: Iterator<Item = bool> + 'static> AltVec for IterIntFromBoolData<I>

Source§

impl<I: Iterator<Item = bool> + 'static> AltVec for IterLogicalData<I>

Source§

impl<I: Iterator<Item = bool> + 'static> AltVec for SparseIterLogicalData<I>

Source§

impl<I: Iterator<Item = f64> + 'static> AltVec for IterRealData<I>

Source§

impl<I: Iterator<Item = f64> + 'static> AltVec for SparseIterRealData<I>

Source§

impl<I: Iterator<Item = f64> + 'static> AltVec for WindowedIterRealData<I>

Source§

impl<I: Iterator<Item = i32> + 'static> AltVec for IterIntData<I>

Source§

impl<I: Iterator<Item = i32> + 'static> AltVec for SparseIterIntData<I>

Source§

impl<I: Iterator<Item = i32> + 'static> AltVec for WindowedIterIntData<I>

Source§

impl<I: Iterator<Item = u8> + 'static> AltVec for IterRawData<I>

Source§

impl<I: Iterator<Item = u8> + 'static> AltVec for SparseIterRawData<I>

Source§

impl<I: Iterator<Item = Rcomplex> + 'static> AltVec for IterComplexData<I>

Source§

impl<I: Iterator<Item = Rcomplex> + 'static> AltVec for SparseIterComplexData<I>

Source§

impl<I: Iterator<Item = SEXP> + 'static> AltVec for IterListData<I>

Source§

impl<I: Iterator<Item = String> + 'static> AltVec for IterStringData<I>