Skip to main content

Module altrep_bridge

Module altrep_bridge 

Source
Expand description

Unsafe ALTREP trampolines and installers bridging safe traits to R’s C ABI.

This module provides:

  • Generic extern "C-unwind" trampolines that call into safe trait methods
  • Installer functions that register methods with R based on HAS_* consts

§Design

Trampolines are only installed when HAS_* is true. When false, the method is NOT installed with R, so R uses its own default behavior.

Macros§

def_installer 🔒
Generate a family-specific installer function from a declarative spec.

Functions§

guarded_altrep_call 🔒
Dispatch an ALTREP callback through the guard mode selected by T::GUARD.
install_base
Install base ALTREP methods (always installs length, conditionally installs optional).
install_cplx
Install complex-specific methods.
install_int
Install integer-specific methods.
install_lgl
Install logical-specific methods.
install_list
Install list-specific methods.
install_raw
Install raw-specific methods.
install_real
Install real-specific methods.
install_str
Install string-specific methods.
install_vec
Install vector-level methods.
t_coerce
Trampoline for Coerce method.
t_cplx_elt
Trampoline for complex Elt method.
t_cplx_get_region
Trampoline for complex Get_region method.
t_dataptr
Trampoline for Dataptr method.
t_dataptr_or_null
Trampoline for Dataptr_or_null method.
t_duplicate
Trampoline for Duplicate method.
t_duplicate_ex
Trampoline for DuplicateEX method (extended duplication).
t_extract_subset
Trampoline for Extract_subset method.
t_inspect
Trampoline for Inspect method.
t_int_elt
Trampoline for integer Elt method.
t_int_get_region
Trampoline for integer Get_region method.
t_int_is_sorted
Trampoline for integer Is_sorted method.
t_int_max
Trampoline for integer Max method.
t_int_min
Trampoline for integer Min method.
t_int_no_na
Trampoline for integer No_NA method.
t_int_sum
Trampoline for integer Sum method.
t_length
Trampoline for Length method.
t_lgl_elt
Trampoline for logical Elt method.
t_lgl_get_region
Trampoline for logical Get_region method.
t_lgl_is_sorted
Trampoline for logical Is_sorted method.
t_lgl_no_na
Trampoline for logical No_NA method.
t_lgl_sum
Trampoline for logical Sum method.
t_list_elt
Trampoline for list Elt method (REQUIRED for ALTLIST).
t_list_set_elt
Trampoline for list Set_elt method.
t_raw_elt
Trampoline for raw Elt method.
t_raw_get_region
Trampoline for raw Get_region method.
t_real_elt
Trampoline for real Elt method.
t_real_get_region
Trampoline for real Get_region method.
t_real_is_sorted
Trampoline for real Is_sorted method.
t_real_max
Trampoline for real Max method.
t_real_min
Trampoline for real Min method.
t_real_no_na
Trampoline for real No_NA method.
t_real_sum
Trampoline for real Sum method.
t_serialized_state
Trampoline for Serialized_state method.
t_str_elt
Trampoline for string Elt method (REQUIRED for ALTSTRING).
t_str_is_sorted
Trampoline for string Is_sorted method.
t_str_no_na
Trampoline for string No_NA method.
t_str_set_elt
Trampoline for string Set_elt method.
t_unserialize
Trampoline for Unserialize method.
t_unserialize_ex
Trampoline for UnserializeEX method (extended unserialization with attributes).