Learn R Programming

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

Rcpp (version 0.10.6)

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 872 unit tests in 422 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.10.6

License

GPL (>= 2)

Maintainer

Dirk Eddelbuettel

Last Published

October 29th, 2013

Functions in Rcpp (0.10.6)

dependsAttribute

Rcpp::depends Attribute
interfacesAttribute

Rcpp::interfaces Attribute
testRcppClass-package

Dummy package part of Rcpp unit testing
exportAttribute

Rcpp::export Attribute
.DollarNames-methods

completion
C++Field-class

Class "C++Field"
registerPlugin

Register an inline plugin
C++OverloadedMethods-class

Class "C++OverloadedMethods"
cppFunction

Define an R Function with a C++ Implementation
C++Object-class

c++ internal objects
LdFlags

Provide Rcpp Linker Flags
C++Function-class

Class "C++Function"
loadModule

Load an Rcpp Module into a Package
exposeClass

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

Rcpp modules
Rcpp-package

R / C++ interface
C++Class-class

Reflection information for an internal c++ class
formals<--methods

Set the formal arguments of a C++ function
populate

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

Rcpp module:
loadRcppModules

Loads Rcpp modules on package startup
testRcppModule-package

Dummy package part of Rcpp unit testing
rcpp_hello_world

Simple function using Rcpp
RcppTestA-package

Dummy package part of Rcpp unit tests
Module

Retrieves an Rcpp module
demangle

c++ type information
pluginsAttribute

Rcpp::plugins Attribute
compileAttributes

Compile Rcpp Attributes for a Package
Rcpp.package.skeleton

Create a skeleton for a new package depending on Rcpp
Rcpp-internal

Rcpp internal functions
C++Constructor-class

Class "C++Constructor"
evalCpp

Evaluate a C++ Expression
sourceCpp

Source C++ Code from a File or String
RcppUnitTests

Rcpp : unit tests results
setRcppClass

Create a Class Extending a C++ Class