[Rcpp-devel] Rcpp 0.10.0

Dirk Eddelbuettel edd at debian.org
Wed Nov 14 23:16:35 CET 2012


On 14 November 2012 at 13:46, Ian Fellows wrote:
| 
| So,… um… Wow!
|
| This is some pretty incredible work, and lines up almost to the letter with the real world issues that I was experiencing with my package. Reading over the vignette, a couple of questions popped into my head.

Thanks :)  We're very happy that you like it.
 
| With the //Rcpp::interfaces(cpp) declaration
| 1. Are classes also exported as transparently as functions.
| 2. If my package already has a namespace named ernm, is an extra one wrapped around it, so that extending packages would have to use ernm::ernm::bar()?
| 3. Just to be clear… this removes the need to make an inline plug-in because you can just use cppFunction(depends="MyPacakge",…) with no additional glue except for the interface statement.

If you would have needed a plugin with inline (for one or more of finding
your headers files, set certain flags, determine the linking library and
path, ...) then you still do.  The existing plugins for RcppGSL,
RcppArmadillo and RcppEigen served as testing templates.  So you may need to
write a 'ernm' plugin... 

Similarly, you may need to supply as<>() and wrap() converters.
 
| I do a lot of passing of objects up and down between R and C++ using home grown code to make the process transparent. Can you speak a little about how the new module object passing is implemented? Are copy constructors called? Is shallow or deep the default? How does one use the new macros?

>From 30,000 feet, it "just" sits on top of Rcpp modules which you may have
looked at in the past --- and these provide essentially mostly pass-through
declarations.

JJ will follow-up in a bit with more nitty-gritty.

Cheers, Dirk

-- 
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com  


More information about the Rcpp-devel mailing list