Skip to main content

AltrepLen

Trait AltrepLen 

Source
pub trait AltrepLen {
    // Required method
    fn altrep_len(&self) -> usize;

    // Provided method
    fn altrep_is_empty(&self) -> bool { ... }
}
Expand description

Base trait for ALTREP data types. All ALTREP types must provide length.

The altrep_ prefix keeps importing this trait from changing ordinary len() / is_empty() calls on arrays, slices and their owners.

Required Methods§

Source

fn altrep_len(&self) -> usize

Returns the length of this ALTREP vector.

Provided Methods§

Source

fn altrep_is_empty(&self) -> bool

Returns true if the vector is empty.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementations on Foreign Types§

Source§

impl AltrepLen for &[&str]

Source§

impl AltrepLen for &[String]

Source§

impl AltrepLen for &[bool]

Source§

impl AltrepLen for &[f64]

Source§

impl AltrepLen for &[i32]

Source§

impl AltrepLen for &[u8]

Source§

impl AltrepLen for Box<[RLogical]>

Source§

impl AltrepLen for Box<[Rcomplex]>

Source§

impl AltrepLen for Box<[String]>

Source§

impl AltrepLen for Box<[bool]>

Source§

impl AltrepLen for Box<[f64]>

Source§

impl AltrepLen for Box<[i32]>

Source§

impl AltrepLen for Box<[u8]>

Source§

impl AltrepLen for Cow<'static, [RLogical]>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl AltrepLen for Range<f64>

Source§

impl AltrepLen for Range<i32>

Source§

impl AltrepLen for Range<i64>

Source§

impl AltrepLen for Vec<Arc<str>>

Source§

impl AltrepLen for Vec<Box<str>>

Source§

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

Source§

impl AltrepLen for Vec<Option<Arc<str>>>

Source§

impl AltrepLen for Vec<Option<Box<str>>>

Source§

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

Source§

impl AltrepLen for Vec<Option<Rc<str>>>

Source§

impl AltrepLen for Vec<Option<String>>

Source§

impl AltrepLen for Vec<RLogical>

Source§

impl AltrepLen for Vec<Rc<str>>

Source§

impl AltrepLen for Vec<Rcomplex>

Source§

impl AltrepLen for Vec<String>

Source§

impl AltrepLen for Vec<bool>

Source§

impl AltrepLen for Vec<f64>

Source§

impl AltrepLen for Vec<i32>

Source§

impl AltrepLen for Vec<u8>

Source§

impl<T> AltrepLen for Arc<[T]>

Source§

impl<T> AltrepLen for Rc<[T]>

Source§

impl<T> AltrepLen for VecDeque<T>

Source§

impl<const N: usize> AltrepLen for [RLogical; N]

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Implementors§

Source§

impl<F: Fn(usize, &mut [f64]) -> usize> AltrepLen for StreamingRealData<F>

Source§

impl<F: Fn(usize, &mut [i32]) -> usize> AltrepLen for StreamingIntData<F>

Source§

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

Source§

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

Source§

impl<I: Iterator<Item = RLogical>> AltrepLen for IterRLogicalData<I>

Source§

impl<I: Iterator<Item = Rcomplex>> AltrepLen for IterComplexData<I>

Source§

impl<I: Iterator<Item = SEXP>> AltrepLen for IterListData<I>

Source§

impl<I: Iterator<Item = String>> AltrepLen for IterStringData<I>

Source§

impl<I: Iterator<Item = bool>> AltrepLen for IterIntFromBoolData<I>

Source§

impl<I: Iterator<Item = bool>> AltrepLen for IterLogicalData<I>

Source§

impl<I: Iterator<Item = bool>> AltrepLen for SparseIterLogicalData<I>

Source§

impl<I: Iterator<Item = f64>> AltrepLen for IterRealData<I>

Source§

impl<I: Iterator<Item = f64>> AltrepLen for SparseIterRealData<I>

Source§

impl<I: Iterator<Item = f64>> AltrepLen for WindowedIterRealData<I>

Source§

impl<I: Iterator<Item = i32>> AltrepLen for IterIntData<I>

Source§

impl<I: Iterator<Item = i32>> AltrepLen for SparseIterIntData<I>

Source§

impl<I: Iterator<Item = i32>> AltrepLen for WindowedIterIntData<I>

Source§

impl<I: Iterator<Item = u8>> AltrepLen for IterRawData<I>

Source§

impl<I: Iterator<Item = u8>> AltrepLen for SparseIterRawData<I>

Source§

impl<I> AltrepLen for SparseIterComplexData<I>
where I: Iterator<Item = Rcomplex>,

Source§

impl<T: RNativeType> AltrepLen for AltrepBuffer<T>