Manipulating External Pointers

There is limited native support for external pointers in the R interface. This package provides some basic tools to verify, create and modify 'externalptr' objects.


xptr: Manipulating External Pointers

ci License r-universe Last Commit

About

External pointers are a powerful tool supported by the C API of the R environment and language that is documented in the Writing R Extensions manual. But there is limited native support for external pointers on the R side. This package provides some basic tools to verify, create, modify, and tag 'externalptr' objects

Usage

library(xptr)
a <- new_xptr("0x11a888090")
b <- new_xptr("0x11a888098")
is_xptr(a)
#> [1] TRUE
xptr_address(a)
#> [1] "0x11a888090"
xptr_clear(a)
is_null_xptr(a)
#> [1] TRUE
set_xptr_address(a, xptr_address(b))
xptr_address(a)           # default 'pointer' variant
#> [1] "0x11a888098"
> xptr_address(a, FALSE)  # non-'pointer' variant
[1] "4740120728"
>

Installation

The package is not currently on CRAN.

The r-univere page has source and binary builds from the repository version which may differ from the CRAN version and shows how to install them. Lastly, one can always rely on remotes::install_github():

> remotes::install_github("eddelbuettel/xptr")

Author

Randy Lai created the R package and prepared versions 1.0 to 1.1.3 between 2017 and 2020.

Dirk Eddelbuettel adopted the package in 2025.

License

MIT

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("xptr")

1.2.0 by Dirk Eddelbuettel, a year ago


https://github.com/eddelbuettel/xptr/, https://eddelbuettel.github.io/xptr/


Browse source code at https://github.com/cran/xptr


Authors: Randy Lai [aut] , Dirk Eddelbuettel [aut, cre]


Documentation:   PDF Manual  


MIT + file LICENSE license



Imported by dsROCrate.

Suggested by chronometre.


See at CRAN