summaryrefslogtreecommitdiff
path: root/devel/R-Rcpp/DESCR
blob: 0b47a0eca560306e0ef80e17e217bcebb06fdb15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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.

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.

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.