(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

Reply via email to