[Rcpp-commits] r1860 - pkg/Rcpp

noreply at r-forge.r-project.org noreply at r-forge.r-project.org
Fri Jul 16 12:12:58 CEST 2010


Author: romain
Date: 2010-07-16 12:12:58 +0200 (Fri, 16 Jul 2010)
New Revision: 1860

Modified:
   pkg/Rcpp/DESCRIPTION
Log:
more highlevel words in DESCRIPTION, covering also sugar and modules

Modified: pkg/Rcpp/DESCRIPTION
===================================================================
--- pkg/Rcpp/DESCRIPTION	2010-07-16 10:02:25 UTC (rev 1859)
+++ pkg/Rcpp/DESCRIPTION	2010-07-16 10:12:58 UTC (rev 1860)
@@ -6,46 +6,34 @@
  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 at r-enthusiasts.com>
-Description: The Rcpp package provides a C++ library and template classes
- which facilitates the integration of R and C++.
+Description: The Rcpp package provides a C++ library which facilitates 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 ...
+ Rcpp::Function, etc ... The "Rcpp-introduction" vignette provides a good
+ entry point to Rcpp. 
  .
- 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.
+ 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.
  .
- The reverse conversion (from R to C++) is performed by the Rcpp::as function
- template offering a similar degree of flexibility.
+ 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. 
  .
- 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.
+ 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
  .
- 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 735 unit tests in 329 unit test functions
- provide addtional usage examples.
-Depends: R (>= 2.10.0), methods
+ provide additional usage examples.
+Depends: R (>= 2.11.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



More information about the Rcpp-commits mailing list