pub struct NativeBorrow {
shape: BorrowShape,
list_depth: usize,
}Expand description
The native vector storage borrowed by a conversion.
Homogeneous containers add list levels; tuples describe each positional field separately. Optional NULLs require no extra level. Owned fields have no descriptor and never participate in alias checks.
Fields§
§shape: BorrowShape§list_depth: usizeImplementations§
Source§impl NativeBorrow
impl NativeBorrow
Sourcepub const fn scalar(sexptype: SEXPTYPE, mutable: bool) -> Self
pub const fn scalar(sexptype: SEXPTYPE, mutable: bool) -> Self
A reference to the only element of a native R vector.
Sourcepub const fn slice(sexptype: SEXPTYPE, mutable: bool) -> Self
pub const fn slice(sexptype: SEXPTYPE, mutable: bool) -> Self
A slice over a native R vector, with empty vectors excluded from conflicts.
Sourcepub const fn tuple(fields: &'static [Option<Self>]) -> Option<Self>
pub const fn tuple(fields: &'static [Option<Self>]) -> Option<Self>
Borrow metadata for a positional R list with exactly this many fields.
Returns None when every field is owned.
Sourcepub const fn in_list(borrow: Option<Self>) -> Option<Self>
pub const fn in_list(borrow: Option<Self>) -> Option<Self>
Forward an element conversion through one R list level.
fn conflicts_with(self, other: Self) -> bool
fn needs_internal_check(self) -> bool
fn accepts_length(self, length: R_xlen_t) -> bool
Trait Implementations§
Source§impl Clone for NativeBorrow
impl Clone for NativeBorrow
impl Copy for NativeBorrow
Source§impl Debug for NativeBorrow
impl Debug for NativeBorrow
Source§impl Eq for NativeBorrow
impl Eq for NativeBorrow
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)1.0.0 (const: unstable) · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
Source§impl PartialEq for NativeBorrow
impl PartialEq for NativeBorrow
impl StructuralPartialEq for NativeBorrow
impl TrivialClone for NativeBorrow
Auto Trait Implementations§
impl Freeze for NativeBorrow
impl RefUnwindSafe for NativeBorrow
impl Send for NativeBorrow
impl Sync for NativeBorrow
impl Unpin for NativeBorrow
impl UnsafeUnpin for NativeBorrow
impl UnwindSafe for NativeBorrow
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConsumingFallible for Twhere
T: Clone,
impl<T> Printable for T
Source§impl<T> RCopy for Twhere
T: Copy,
impl<T> RCopy for Twhere
T: Copy,
Source§impl<T> RDebug for Twhere
T: Debug,
impl<T> RDebug for Twhere
T: Debug,
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes