This Rcpp release depends on R 2.12.0 as two things have changed. First, we
play along with change in R concerning the ordering of inheritance for time
classes. But secondly, and more importantly, we support in Rcpp the
corresponding change R itself which brings the new ReferenceClasses. Here is
corresponding bit from R’s NEWS file for R 2.12.0:
o A facility for defining reference-based S4 classes (in the OOP style of Java, C++, etc.) has been added experimentally to package methods; see ?ReferenceClasses. [...] o An experimental new programming model has been added to package methods for reference (OOP-style) classes and methods. See ?ReferenceClasses.
This was made possible in large part by code committed by
(whom we had welcomed recently as a co-author to
Rcpp) building on
the changes he made to R 2.12.0 itself, as well on the work Romain had done
with ‘Rcpp Modules’. The R help page for
carries a reference (bad pun) to Rcpp 0.8.7 so these two releases do go
together. This should be a lot of fun over the next little while:
S3, S4, and now ReferenceClasses.
We also made a number of internal changes some of which leads to speed-ups
and internal improvement. The NEWS entry follows below:
0.8.7 2010-10-15 o As of this version, Rcpp depends on R 2.12 or greater as it interfaces the new reference classes (see below) and also reflects the POSIXt class reordering both of which appeared with R version 2.12.0 o new Rcpp::Reference class, that allows internal manipulation of R 2.12.0 reference classes. The class exposes a constructor that takes the name of the target reference class and a field(string) method that implements the proxy pattern to get/set reference fields using callbacks to the R operators "$" and "$<-" in order to preserve the R-level encapsulation o the R side of the preceding item allows methods to be written in R as per ?ReferenceClasses, accessing fields by name and assigning them using "<<-". Classes extracted from modules are R reference classes. They can be subclassed in R, and/or R methods can be defined using the $methods(...) mechanism. o internal performance improvements for Rcpp sugar as well as an added 'noNA()' wrapper to omit tests for NA values -- see the included examples in inst/examples/convolveBenchmarks for the speedups o more internal performance gains with Functions and Environments
As always, even fuller details are in
Rcpp Changelog page and the
Rcpp page which also
leads to the downloads, the
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 page