https://github.com/cran/Rcpp
Tip revision: 3cda6783fd2832331567e4603af53d4df2d909ba authored by Dirk Eddelbuettel and Romain Francois on 29 June 2010, 12:29:30 UTC
version 0.8.3
version 0.8.3
Tip revision: 3cda678
DESCRIPTION
Package: Rcpp
Title: Rcpp R/C++ interface package
Version: 0.8.3
Date: $Date: 2010-06-27 17:29:38 -0500 (Sun, 27 Jun 2010) $
Author: Dirk Eddelbuettel and Romain Francois, with contributions by
Simon Urbanek, David Reiss and Douglas Bates; based on code
written during 2005 and 2006 by Dominick Samperi
Maintainer: Dirk Eddelbuettel and Romain Francois
<RomainAndDirk@r-enthusiasts.com>
Description: Seamless R and C++ integration The Rcpp package contains a
C++ library that facilitates the integration of R and C++ in
various ways.
.
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 underlying C++ library also offers the Rcpp::wrap function which is
a templated function that transforms an arbitrary object into a
SEXP. This makes it straightforward to implement C++ logic in
terms of standard C++ types such as STL containers and then
wrap them when they need to be returned to R. Internally, wrap
uses advanced template meta programming techniques and
currently supports : primitive types (bool, int, double,
size_t, Rbyte, Rcomplex, std::string), STL containers (e.g
std::vector<T>) where T is wrappable, STL maps (e.g
std::map<std::string,T>) where T is wrappable, and arbitrary
types that support implicit conversion to SEXP.
.
The reverse conversion (from R to C++) is performed by the Rcpp::as
function template offering a similar degree of flexibility.
.
The package also contains a set of classes---which we call the
'classic' Rcpp API---that were provided in an earlier API for R
and C++ integration. Due to its continued use, the classic API
is retained and will be supported for the foreseable future.
The classic API includes support for R types real, integer,
character, vector, matrix, Date, datetime (i.e. POSIXct) at
microsecond resolution, data frame, and function. Transfer to
and from simple or complex SEXP objects is made easy thanks to
automatic conversion made possible by C++ template conversion.
Calling R functions from C++ is also supported.
.
C++ code can be 'inlined' by using the 'inline' package which will
create a C++ function and compile, link and load it given the
'inlined' character argument which makes C++ integration very
easy.
.
Several examples are included, and over 720 unit tests in over 320 unit
test functions provide addtional usage examples.
Depends: R (>= 2.10.0), methods
Suggests: RUnit, inline
SystemRequirements: GNU make
URL: http://dirk.eddelbuettel.com/code/rcpp.html,
http://romainfrancois.blog.free.fr/index.php?category/R-package/Rcpp
License: GPL (>= 2)
BugReports:
http://r-forge.r-project.org/tracker/?atid=637&group_id=155&func=browse
Packaged: 2010-06-27 22:38:29 UTC; edd
Repository: CRAN
Date/Publication: 2010-06-29 12:29:30