(For full original post, see http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2014-May/007539.html )
> On 06.05.2014, at 13:55, Dirk Eddelbuettel <e...@debian.org> wrote: > > Conceptually, if it helped, you could think about > > -- copying all content into an object you serialize (eg an R object for which > you use save() or writeRDS()) > > -- creating the reverse to create an object 'factory' that creates an > instance of your Rcpp object given an R object. Thanks, Dirk, for the help, that was my plan. It would be totally sufficient to have all saved in a list from which I could recreate all C++ objects on unserialize. In my C++ class (SVTEST, exposed through Rcpp module) I have a method that returns all necessary stuff as a list -- works charmingly. I have also a second constructor building a new object from a list. But how do I tell R to automatically use these two methods when saving to and loading from RData files? I try around with serialize.Rcpp_SVTEST but that doesn't work. writeRDS() provides an option for a custom hook, but the general problem remains: how to bring R to invoke it before quitting a session with Rcpp_SVTEST objects in it? Perhaps I am stuck because I do not understand how that "usually" works in R, but Google didn't help as well. Could you help? Thanks in advance Sören Appendix: If needed, an example package is here: https://www.dropbox.com/s/gieq5o2wh9bcq5k/SVTEST_0.0.1.tar.gz?dl=0 . Some R stuff that may save typing, when trying to look at the test package from the link above: ## library("SVTEST") getRefClass("Rcpp_SVTEST") x <- new("Rcpp_SVTEST") x$getAsList() y <- x$getAsList() class(y) <- c(class(y), 'SVTSTlist') z <- new( "Rcpp_SVTEST", y ) x$setX(1:8) z$setY(LETTERS) x$getAsList() z$getAsList() ## save( list = c('x', 'y', 'z'), file = 'SVTEST_Work.RData' ) rm( list = c('x', 'y', 'z') ) load('SVTEST_Work.RData') x; y; z # :-( _______________________________________________ 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