| compileAttributes {Rcpp} | R Documentation |
Compile Rcpp Attributes for a Package
Description
Scan the source files within a package for attributes and generate code as required. Generates the bindings required to call C++ functions from R for functions adorned with the Rcpp::export attribute.
Usage
compileAttributes(pkgdir = ".", verbose = getOption("verbose"))
Arguments
pkgdir |
Directory containing the package to compile attributes for (defaults to the current working directory). |
verbose |
|
Details
The source files in the package directory given by pkgdir are scanned for attributes and code is generated as required based on the attributes.
For C++ functions adorned with the Rcpp::export attribute, the C++ and R source code required to bind to the function from R is generated and added (respectively) to src/RcppExports.cpp or R/RcppExports.R. Both of these files are automatically generated from scratch each time compiledAttributes is run.
In order to access the declarations for custom Rcpp::as and Rcpp::wrap handlers the compileAttributes function will also call any inline plugins available for packages listed in the LinkingTo field of the DESCRIPTION file.
Value
Returns (invisibly) a character vector with the paths to any files that were updated as a result of the call.
Note
The compileAttributes function deals only with exporting C++ functions to R. If you want the functions to additionally be publicly available from your package's namespace another step may be required. Specifically, if your package NAMESPACE file does not use a pattern to export functions then you should add an explicit entry to NAMESPACE for each R function you want publicly available.
In addition to exporting R bindings for C++ functions, the compileAttributes function can also generate a direct C++ interface to the functions using the Rcpp::interfaces attribute.
See Also
Rcpp::export, Rcpp::interfaces
Examples
## Not run:
# Compile attributes for package in the current working dir
compileAttributes()
## End(Not run)