ListOf
templated
list class, as well as a new option to warn on implicit casts. We decided not
to make this option the default as it may be too common in some packages. JJ took
care of a few buglets related to the wonderful Rcpp Attributes. See the NEWS
file section below for details, or the ChangeLog file in the package and on the
Rcpp Changelog page.
Note that the diffstat
reported by CRANberries is very large as
Kevin also committed a whitespace cleanup which touched almost all files.
As before, we tested this release by building against all
CRAN packages
which depend upon Rcpp. In fact we did
three such runs leading up to the release. Only one package was blacklisted
(as I currently don't have CUDA set-up), two had what may be internal errors
or tests which were too restrictive, sixteen suffered from missing packages
or RGL devices --- but the remaining 202 packages all built and tested
cleanly. Detailed results of those tests (and the scripts for it) are in the rcpp-logs repo GitHub.
There are a number of other fixes, upgrades and other extensions detailed in
NEWS
file extract below, in the ChangeLog file in the package and on the
Rcpp Changelog page.
Thanks to CRANberries, you can also look at a diff to the previous release. As always, even fuller details are on the Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge pageChanges in Rcpp version 0.11.2 (2014-06-06
Changes in Rcpp API:
Implicit conversions, e.g. between
NumericVector
andIntegerVector
, will now give warnings if you use#define RCPP_WARN_ON_COERCE
before including the Rcpp headers.Templated
List
containers,ListOf<T>
, have been introduced. When subsetting such containers, the return is assumed to be of type T, allowing code such asListOf<NumericVector> x; NumericVector y = x[0] + x[1] + x[2]
.In a number of instances, returned results are protected and/or cast more carefully.
Changes in Rcpp Attributes
Trailing line comments are now stripped by the attributes parser. This allows the parser to handle C++ source files containing comments inline with function arguments.
The
USE_CXX1X
environment variable is now defined by the cpp11 plugin when R >= 3.1. Two additional plugins have been added for use with C++0x (eg when using g++ 4.6.* as on Windows) as well as C++1y for compilers beginning to support the next revision of the standard; additional fallback is provided for Windows.
compileAttributes()
now also considers Imports: which may suppress a warning when runningRcpp.package.skeleton()
.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.