pub struct NamedVector<M>(pub M);Expand description
Wrapper that converts a map to/from a named atomic R vector instead of a named list.
The inner map must have String keys and values that implement AtomicElement.
§Supported value types
| Rust type | R SEXPTYPE |
|---|---|
i32 | INTSXP |
f64 | REALSXP |
u8 | RAWSXP |
bool | LGLSXP |
String | STRSXP |
Option<i32> | INTSXP (NA = NA_INTEGER) |
Option<f64> | REALSXP (NA = NA_REAL) |
Option<bool> | LGLSXP (NA = NA_LOGICAL) |
Option<String> | STRSXP (NA = NA_character_) |
Tuple Fields§
§0: MImplementations§
Source§impl<M> NamedVector<M>
impl<M> NamedVector<M>
Sourcepub fn into_inner(self) -> M
pub fn into_inner(self) -> M
Unwrap, returning the inner map.
Trait Implementations§
Source§impl<M: Clone> Clone for NamedVector<M>
impl<M: Clone> Clone for NamedVector<M>
Source§impl<M: Debug> Debug for NamedVector<M>
impl<M: Debug> Debug for NamedVector<M>
Source§impl<M: Eq> Eq for NamedVector<M>
impl<M: Eq> Eq for NamedVector<M>
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
🔬This is a nightly-only experimental API. (
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)
👎Deprecated since 1.95.0:
implementation detail of #[derive(Eq)]
Source§impl<M> From<M> for NamedVector<M>
impl<M> From<M> for NamedVector<M>
Source§impl<V: AtomicElement> IntoR for NamedVector<HashMap<String, V>>
impl<V: AtomicElement> IntoR for NamedVector<HashMap<String, V>>
Source§impl<V: AtomicElement> IntoR for NamedVector<BTreeMap<String, V>>
impl<V: AtomicElement> IntoR for NamedVector<BTreeMap<String, V>>
Source§impl<M: PartialEq> PartialEq for NamedVector<M>
impl<M: PartialEq> PartialEq for NamedVector<M>
impl<M: PartialEq> StructuralPartialEq for NamedVector<M>
Source§impl<V: AtomicElement> TryFromSexp for NamedVector<HashMap<String, V>>
impl<V: AtomicElement> TryFromSexp for NamedVector<HashMap<String, V>>
Source§fn try_from_sexp(sexp: SEXP) -> Result<Self, Self::Error>
fn try_from_sexp(sexp: SEXP) -> Result<Self, Self::Error>
Attempt to convert an R SEXP to this Rust type. Read more
Source§const NATIVE_BORROW: Option<NativeBorrow> = None
const NATIVE_BORROW: Option<NativeBorrow> = None
Native vector storage retained by this conversion, if any. Read more
Source§const CHARACTER_ONLY: bool = false
const CHARACTER_ONLY: bool = false
Whether this conversion accepts only character input: every value it
converts, other than
NULL, is a character vector or a factor. Read moreSource§#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
What an argument of this type must be, in R terms, when
#[miniextendr] cannot tell from the type as written: the
<expected> of a failed conversion’s '<p>' must be <expected>: .... Read moreSource§unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
Convert from SEXP without thread safety checks. Read more
Source§#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
Convert with a scope able to retain uncached ALTREP elements.
Custom reference converters keep their existing behavior by default. Read more
Source§#[doc(hidden)]fn __mx_has_na(&self) -> bool
#[doc(hidden)]fn __mx_has_na(&self) -> bool
Whether the converted argument holds a value
#[miniextendr(no_na)]
refuses after the conversion. Read moreSource§#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
Whether
#[miniextendr(no_na)] refuses this converted argument, read
from input (the R value it converted from), when no R guard ran. Read moreSource§#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Convert, running
check, an element type’s
TryFromSexpElement::check_sexp,
on the R value that carries an element’s class (#1837). Read moreSource§#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Source§impl<V: AtomicElement> TryFromSexp for NamedVector<BTreeMap<String, V>>
impl<V: AtomicElement> TryFromSexp for NamedVector<BTreeMap<String, V>>
Source§fn try_from_sexp(sexp: SEXP) -> Result<Self, Self::Error>
fn try_from_sexp(sexp: SEXP) -> Result<Self, Self::Error>
Attempt to convert an R SEXP to this Rust type. Read more
Source§const NATIVE_BORROW: Option<NativeBorrow> = None
const NATIVE_BORROW: Option<NativeBorrow> = None
Native vector storage retained by this conversion, if any. Read more
Source§const CHARACTER_ONLY: bool = false
const CHARACTER_ONLY: bool = false
Whether this conversion accepts only character input: every value it
converts, other than
NULL, is a character vector or a factor. Read moreSource§#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
What an argument of this type must be, in R terms, when
#[miniextendr] cannot tell from the type as written: the
<expected> of a failed conversion’s '<p>' must be <expected>: .... Read moreSource§unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
Convert from SEXP without thread safety checks. Read more
Source§#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
Convert with a scope able to retain uncached ALTREP elements.
Custom reference converters keep their existing behavior by default. Read more
Source§#[doc(hidden)]fn __mx_has_na(&self) -> bool
#[doc(hidden)]fn __mx_has_na(&self) -> bool
Whether the converted argument holds a value
#[miniextendr(no_na)]
refuses after the conversion. Read moreSource§#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
Whether
#[miniextendr(no_na)] refuses this converted argument, read
from input (the R value it converted from), when no R guard ran. Read moreSource§#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Convert, running
check, an element type’s
TryFromSexpElement::check_sexp,
on the R value that carries an element’s class (#1837). Read moreSource§#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Auto Trait Implementations§
impl<M> Freeze for NamedVector<M>where
M: Freeze,
impl<M> RefUnwindSafe for NamedVector<M>where
M: RefUnwindSafe,
impl<M> Send for NamedVector<M>where
M: Send,
impl<M> Sync for NamedVector<M>where
M: Sync,
impl<M> Unpin for NamedVector<M>where
M: Unpin,
impl<M> UnsafeUnpin for NamedVector<M>where
M: UnsafeUnpin,
impl<M> UnwindSafe for NamedVector<M>where
M: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ConsumingFallible for Twhere
T: Clone,
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
🔬This is a nightly-only experimental API. (
core_io_internals)Returns a lower bound on the number of elements this container-like item
contains.
For example, an array
[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 = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
🔬This is a nightly-only experimental API. (
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read moreLayout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.