MyNixOS website logo
Description

'C++' Header Files from 'Abseil'.

Wraps the 'Abseil' 'C++' library for use by R packages. Original files are from <https://github.com/abseil/abseil-cpp>. Patches are located at <https://github.com/doccstat/abseil-r/tree/main/local/patches>.

abseil: Abseil Headers for R

CRANstatus Downloads R-CMD-check LastCommit r-universe

Synopsis

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.

Installation

# Install from CRAN
install.packages("abseil")
Development version
# 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")

Example

Directly usage in 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"
Usage in Rcpp package
#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.

Authors

Abseil Team, Xingchi Li

Contact us

For bugs related to Abseil logistics, please report the issue to the official Abseil GitHub Repo.

  1. File a ticket at GitHub Issues.
  2. Contact the authors specified in DESCRIPTION.

Stargazers over time

Stargazers overtime

License

This package is provided under the same license as Abseil itself, the Apache-2.0 license.

Metadata

Version

2023.8.2.1

License

Unknown

Platforms (75)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows