extendr_api::robj

Trait Rinternals

Source
pub trait Rinternals: Types + Conversions {
Show 61 methods // Provided methods fn is_null(&self) -> bool { ... } fn is_symbol(&self) -> bool { ... } fn is_logical(&self) -> bool { ... } fn is_real(&self) -> bool { ... } fn is_complex(&self) -> bool { ... } fn is_expressions(&self) -> bool { ... } fn is_environment(&self) -> bool { ... } fn is_promise(&self) -> bool { ... } fn is_string(&self) -> bool { ... } fn is_object(&self) -> bool { ... } fn is_s4(&self) -> bool { ... } fn is_external_pointer(&self) -> bool { ... } fn get_current_srcref(val: i32) -> Robj { ... } fn get_src_filename(&self) -> Robj { ... } fn as_character_vector(&self) -> Robj { ... } fn coerce_vector(&self, sexptype: SEXPTYPE) -> Robj { ... } fn pair_to_vector_list(&self) -> Robj { ... } fn vector_to_pair_list(&self) -> Robj { ... } fn as_character_factor(&self) -> Robj { ... } fn alloc_matrix(sexptype: SEXPTYPE, rows: i32, cols: i32) -> Robj { ... } fn duplicate(&self) -> Robj { ... } fn find_function<K: TryInto<Symbol, Error = Error>>( &self, key: K, ) -> Result<Robj> { ... } fn find_var<K: TryInto<Symbol, Error = Error>>( &self, key: K, ) -> Result<Robj> { ... } fn ncols(&self) -> usize { ... } fn nrows(&self) -> usize { ... } fn xlengthgets(&self, new_len: usize) -> Result<Robj> { ... } fn alloc_vector(sexptype: SEXPTYPE, len: usize) -> Robj { ... } fn conformable(a: &Robj, b: &Robj) -> bool { ... } fn is_array(&self) -> bool { ... } fn is_factor(&self) -> bool { ... } fn is_frame(&self) -> bool { ... } fn is_function(&self) -> bool { ... } fn is_integer(&self) -> bool { ... } fn is_language(&self) -> bool { ... } fn is_pairlist(&self) -> bool { ... } fn is_matrix(&self) -> bool { ... } fn is_list(&self) -> bool { ... } fn is_number(&self) -> bool { ... } fn is_primitive(&self) -> bool { ... } fn is_ts(&self) -> bool { ... } fn is_user_binop(&self) -> bool { ... } fn is_vector(&self) -> bool { ... } fn is_vector_atomic(&self) -> bool { ... } fn is_vector_list(&self) -> bool { ... } fn is_vectorizable(&self) -> bool { ... } fn is_raw(&self) -> bool { ... } fn is_char(&self) -> bool { ... } fn is_missing_arg(&self) -> bool { ... } fn is_unbound_value(&self) -> bool { ... } fn is_package_env(&self) -> bool { ... } fn package_env_name(&self) -> Robj { ... } fn is_namespace_env(&self) -> bool { ... } fn namespace_env_spec(&self) -> Robj { ... } fn is_altrep(&self) -> bool { ... } fn is_altinteger(&self) -> bool { ... } fn is_altreal(&self) -> bool { ... } fn is_altlogical(&self) -> bool { ... } fn is_altraw(&self) -> bool { ... } fn is_altstring(&self) -> bool { ... } fn is_altlist(&self) -> bool { ... } fn deparse(&self) -> Result<String> { ... }
}
Expand description

The following impls wrap specific Rinternals.h functions.

Provided Methods§

Source

fn is_null(&self) -> bool

Return true if this is the null object.

Source

fn is_symbol(&self) -> bool

Return true if this is a symbol.

Source

fn is_logical(&self) -> bool

Return true if this is a boolean (logical) vector

Source

fn is_real(&self) -> bool

Return true if this is a real (f64) vector.

Source

fn is_complex(&self) -> bool

Return true if this is a complex vector.

Source

fn is_expressions(&self) -> bool

Return true if this is an expression.

Source

fn is_environment(&self) -> bool

Return true if this is an environment.

Source

fn is_promise(&self) -> bool

Return true if this is an environment.

Source

fn is_string(&self) -> bool

Return true if this is a string.

Source

fn is_object(&self) -> bool

Return true if this is an object (ie. has a class attribute).

Source

fn is_s4(&self) -> bool

Return true if this is a S4 object.

Source

fn is_external_pointer(&self) -> bool

Return true if this is an expression.

Source

fn get_current_srcref(val: i32) -> Robj

Get the source ref.

Source

fn get_src_filename(&self) -> Robj

Get the source filename.

Source

fn as_character_vector(&self) -> Robj

Convert to a string vector.

Source

fn coerce_vector(&self, sexptype: SEXPTYPE) -> Robj

Convert to vectors of many kinds.

Source

fn pair_to_vector_list(&self) -> Robj

Convert a pairlist (LISTSXP) to a vector list (VECSXP).

Source

fn vector_to_pair_list(&self) -> Robj

Convert a vector list (VECSXP) to a pair list (LISTSXP)

Source

fn as_character_factor(&self) -> Robj

Convert a factor to a string vector.

Source

fn alloc_matrix(sexptype: SEXPTYPE, rows: i32, cols: i32) -> Robj

Allocate a matrix object.

Source

fn duplicate(&self) -> Robj

Do a deep copy of this object. Note that clone() only adds a reference.

Source

fn find_function<K: TryInto<Symbol, Error = Error>>( &self, key: K, ) -> Result<Robj>

Find a function in an environment ignoring other variables.

This evaulates promises if they are found.

See also global_function().

use extendr_api::prelude::*;
test! {
   let my_fun = base_env().find_function(sym!(ls)).unwrap();
   assert_eq!(my_fun.is_function(), true);

   // Note: this may crash on some versions of windows which don't support unwinding.
   // assert!(base_env().find_function(sym!(qwertyuiop)).is_none());
}
Source

fn find_var<K: TryInto<Symbol, Error = Error>>(&self, key: K) -> Result<Robj>

Find a variable in an environment.

Note that many common variables and functions are contained in promises which must be evaluated and this function may throw an R error.

Source

fn ncols(&self) -> usize

Number of columns of a matrix

Source

fn nrows(&self) -> usize

Number of rows of a matrix

Source

fn xlengthgets(&self, new_len: usize) -> Result<Robj>

Source

fn alloc_vector(sexptype: SEXPTYPE, len: usize) -> Robj

Allocated an owned object of a certain type.

Source

fn conformable(a: &Robj, b: &Robj) -> bool

Return true if two arrays have identical dims.

Source

fn is_array(&self) -> bool

Return true if this is an array.

Source

fn is_factor(&self) -> bool

Return true if this is factor.

Source

fn is_frame(&self) -> bool

Return true if this is a data frame.

Source

fn is_function(&self) -> bool

Return true if this is a function or a primitive (CLOSXP, BUILTINSXP or SPECIALSXP)

Source

fn is_integer(&self) -> bool

Return true if this is an integer vector (INTSXP) but not a factor.

Source

fn is_language(&self) -> bool

Return true if this is a language object (LANGSXP).

Source

fn is_pairlist(&self) -> bool

Return true if this is NILSXP or LISTSXP.

Source

fn is_matrix(&self) -> bool

Return true if this is a matrix.

Source

fn is_list(&self) -> bool

Return true if this is NILSXP or VECSXP.

Source

fn is_number(&self) -> bool

Return true if this is INTSXP, LGLSXP or REALSXP but not a factor.

Source

fn is_primitive(&self) -> bool

Return true if this is a primitive function BUILTINSXP, SPECIALSXP.

Source

fn is_ts(&self) -> bool

Return true if this is a time series vector (see tsp).

Source

fn is_user_binop(&self) -> bool

Return true if this is a user defined binop.

Source

fn is_vector(&self) -> bool

Return true if this is a vector.

Source

fn is_vector_atomic(&self) -> bool

Return true if this is an atomic vector.

Source

fn is_vector_list(&self) -> bool

Return true if this is a vector list.

Source

fn is_vectorizable(&self) -> bool

Return true if this is can be made into a vector.

Source

fn is_raw(&self) -> bool

Return true if this is RAWSXP.

Source

fn is_char(&self) -> bool

Return true if this is CHARSXP.

Source

fn is_missing_arg(&self) -> bool

Source

fn is_unbound_value(&self) -> bool

Source

fn is_package_env(&self) -> bool

Source

fn package_env_name(&self) -> Robj

Source

fn is_namespace_env(&self) -> bool

Source

fn namespace_env_spec(&self) -> Robj

Source

fn is_altrep(&self) -> bool

Returns true if this is an ALTREP object.

Source

fn is_altinteger(&self) -> bool

Returns true if this is an integer ALTREP object.

Source

fn is_altreal(&self) -> bool

Returns true if this is an real ALTREP object.

Source

fn is_altlogical(&self) -> bool

Returns true if this is an logical ALTREP object.

Source

fn is_altraw(&self) -> bool

Returns true if this is a raw ALTREP object.

Source

fn is_altstring(&self) -> bool

Returns true if this is an integer ALTREP object.

Source

fn is_altlist(&self) -> bool

Returns true if this is an integer ALTREP object.

Source

fn deparse(&self) -> Result<String>

Generate a text representation of this object.

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.

Implementors§

Source§

impl Rinternals for Altrep

find_var() etc.

Source§

impl Rinternals for Complexes

find_var() etc.

Source§

impl Rinternals for Doubles

find_var() etc.

Source§

impl Rinternals for Environment

find_var() etc.

Source§

impl Rinternals for Expressions

find_var() etc.

Source§

impl Rinternals for Function

find_var() etc.

Source§

impl Rinternals for Integers

find_var() etc.

Source§

impl Rinternals for Language

find_var() etc.

Source§

impl Rinternals for List

find_var() etc.

Source§

impl Rinternals for Logicals

find_var() etc.

Source§

impl Rinternals for Pairlist

find_var() etc.

Source§

impl Rinternals for Primitive

find_var() etc.

Source§

impl Rinternals for Promise

find_var() etc.

Source§

impl Rinternals for Raw

find_var() etc.

Source§

impl Rinternals for Rstr

find_var() etc.

Source§

impl Rinternals for S4

find_var() etc.

Source§

impl Rinternals for Strings

find_var() etc.

Source§

impl Rinternals for Symbol

find_var() etc.

Source§

impl Rinternals for Robj

Source§

impl<T> Rinternals for Dataframe<T>

find_var() etc.

Source§

impl<T> Rinternals for ExternalPtr<T>

find_var() etc.