On Tue, Oct 14, 2014 at 9:19 AM, Dr Gregory Jefferis <jeffe...@mrc-lmb.cam.ac.uk> wrote: > >> * Rcpp: RCPP_EXPOSED_CLASS_NODECL(RaggedArray) >> * Rcpp: setRcppClass("RaggedArray") >> * roxygen2/NAMESPACE: @exportClass RaggedArray > > I'm not sure if the exact issue here, but you could look at this package > that I wrote: > > https://github.com/jefferis/nabor > > and in particular > > https://github.com/jefferis/nabor/blob/master/R/WKNNClasses.R > https://github.com/jefferis/nabor/blob/master/src/WKNN.cpp >
Yeah, I found your package and used it as a prototype to fix a few things, but I'm honestly still short on understanding. Here's my reading of the above 3 *s: * I've read ?setRcppClass, and looked at the definition (e.g. Rcpp::setRcppClass) and I'm not clear on when this is required, and whether its RefClass or S4. * The best explanation of the RCPP_EXPOSED_CLASS macro I found was here: http://romainfrancois.blog.free.fr/index.php?post/2012/10/25/Rcpp-modules-more-flexible. My understanding is that this only involves the C++ side, and is totally unrelated to a pure-R reference class using an Rcpp module object and its methods. * The @exportClassses directive creates an exportClasses entry in NAMESPACE. Looking at "Writing R extensions", it looks like this is particular to S4 classses. In fact, I can't find mention of reference classes in "Writing R extensions". So, I'm murky on what calling exportClasses(myRcppModule) actually does, or how it works. Did I miss anything here? Thanks! Christian -- A man, a plan, a cat, a ham, a yak, a yam, a hat, a canal – Panama! _______________________________________________ Rcpp-devel mailing list Rcpp-devel@lists.r-forge.r-project.org https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel