Learn R Programming

⚠️There's a newer version (1.0.14) of this package.Take me there.

Rcpp (version 0.11.1)

Seamless R and C++ Integration

Description

The Rcpp package provides R functions as well as a C++ library which facilitate the integration of R and C++. R data types (SEXP) are matched to C++ objects in a class hierarchy. All R types are supported (vectors, functions, environment, etc ...) and each type is mapped to a dedicated class. For example, numeric vectors are represented as instances of the Rcpp::NumericVector class, environments are represented as instances of Rcpp::Environment, functions are represented as Rcpp::Function, etc ... The "Rcpp-introduction" vignette provides a good entry point to Rcpp. Conversion from C++ to R and back is driven by the templates Rcpp::wrap and Rcpp::as which are highly flexible and extensible, as documented in the "Rcpp-extending" vignette. Rcpp also provides Rcpp modules, a framework that allows exposing C++ functions and classes to the R level. The "Rcpp-modules" vignette details the current set of features of Rcpp-modules. Rcpp includes a concept called Rcpp sugar that brings many R functions into C++. Sugar takes advantage of lazy evaluation and expression templates to achieve great performance while exposing a syntax that is much nicer to use than the equivalent low-level loop code. The "Rcpp-sugar" vignette gives an overview of the feature. Rcpp attributes provide a high-level syntax for declaring C++ functions as callable from R and automatically generating the code required to invoke them. Attributes are intended to facilitate both interactive use of C++ within R sessions as well as to support R package development. Attributes are built on top of Rcpp modules and their implementation is based on previous work in the inline package. Many examples are included, and around 891 unit tests in 430 unit test functions provide additional usage examples. An earlier version of Rcpp, containing what we now call the 'classic Rcpp API' was written during 2005 and 2006 by Dominick Samperi. This code has been factored out of Rcpp into the package RcppClassic, and it is still available for code relying on the older interface. New development should always use this Rcpp package instead. Additional documentation is available via the paper by Eddelbuettel and Francois (2011, JSS) paper and the book by Eddelbuettel (2013, Springer); see 'citation("Rcpp")' for details.

Copy Link

Version

Install

install.packages('Rcpp')

Monthly Downloads

1,369,983

Version

0.11.1

License

GPL (>= 2)

Issues

Pull Requests

Stars

Forks

Maintainer

Dirk Eddelbuettel

Last Published

March 14th, 2014

Functions in Rcpp (0.11.1)

Rcpp.plugin.maker

Facilitating making package plugins
Rcpp.package.skeleton

Create a skeleton for a new package depending on Rcpp
C++OverloadedMethods-class

Class "C++OverloadedMethods"
interfacesAttribute

Rcpp::interfaces Attribute
rcpp_hello_world

Simple function using Rcpp
registerPlugin

Register an inline plugin
sourceCpp

Source C++ Code from a File or String
Rcpp-internal

Rcpp internal functions
C++Class-class

Reflection information for an internal c++ class
Module

Retrieves an Rcpp module
NAME

Rcpp module:
.DollarNames-methods

completion
C++Object-class

c++ internal objects
loadModule

Load an Rcpp Module into a Package
C++Field-class

Class "C++Field"
Rcpp-package

R / C++ interface
C++Function-class

Class "C++Function"
compileAttributes

Compile Rcpp Attributes for a Package
exportAttribute

Rcpp::export Attribute
testRcppClass-package

Dummy package part of Rcpp unit testing
Module-class

Rcpp modules
RcppUnitTests

Rcpp : unit tests results
pluginsAttribute

Rcpp::plugins Attribute
RcppTestA-package

Dummy package part of Rcpp unit tests
dependsAttribute

Rcpp::depends Attribute
populate

Populates a namespace or an environment with the content of a module
evalCpp

Evaluate a C++ Expression
formals<--methods

Set the formal arguments of a C++ function
cppFunction

Define an R Function with a C++ Implementation
loadRcppModules

Loads Rcpp modules on package startup
testRcppModule-package

Dummy package part of Rcpp unit testing
C++Constructor-class

Class "C++Constructor"
demangle

c++ type information
setRcppClass

Create a Class Extending a C++ Class
exposeClass

Create an Rcpp Module to Expose a C++ Class in R
LdFlags

(Deprecated) Rcpp Linker Flags