Wraps the 'Abseil' 'C++' library for use by R packages. Provides both header files and a compiled static library ('libabsl.a') so that downstream packages can link non-header-only 'Abseil' components without recompiling the library themselves. Original files are from < https://github.com/abseil/abseil-cpp>. Patches are located at < https://github.com/doccstat/abseil-r/tree/main/local/patches>.
This package provides R with access to Abseil header files.
This package is a direct import of Abseil libraries.
It can be used via the LinkingTo: field in the DESCRIPTION field of
an R package — and the R package infrastructure tools will then know how
to set include flags correctly on all architectures supported by R.
# Install from CRAN
install.packages("abseil")
# Development version from r-universe with CRAN version as a fallback
install.packages(
"abseil",
repos = c("https://doccstat.r-universe.dev", "https://cloud.r-project.org")
)
## install.packages("pak")
pak::pak("doccstat/abseil-r")
## install.packages("devtools")
devtools::install_github("doccstat/abseil-r")
Rcpp::cppFunction(r"{
#include "absl/strings/str_join.h"
std::string joinString() {
std::vector<std::string> v = {"foo","bar","baz"};
return absl::StrJoin(v, "-");
}
}", depends = "abseil")
joinString()
#> [1] "foo-bar-baz"
#include <Rcpp.h>
#include "absl/strings/str_join.h"
//' @export
// [[Rcpp::export]]
std::string joinString() {
std::vector<std::string> v = {"foo","bar","baz"};
return absl::StrJoin(v, "-");
}
Bare minimum R package using the abseil package can be found at
doccstat/abseil-r-example.
Abseil Team, Xingchi Li
For bugs related to Abseil logistics, please report the issue to the official Abseil GitHub Repo.
This package is provided under the same license as Abseil itself, the Apache-2.0 license.