Dear Sergei, You got my question... however:
I followed what is shown in RcppBDT as well as in Rcpp Extending Vignette i.e., include RcppCommon.h, define the class, include Rcpp.h. But, how the implement as/wrap? I also turn available the extensions trough the "depends" attribute. It works and recognize my class... What I can't understand (implement) is how to define an as<MyClass> taking MyClass as input from R as well as the wrap(MyClass) which is supposed to return an instance of MyClass to R. I did try the Rcpp::XPtr approach for wrapping too but, then what I get in the R side is and externalptr, not an instance of MyClass. Any clue or example to point me? I will appreciate :) Cheers, FH -----Original Message----- From: Serguei Sokol <serguei.so...@gmail.com> Reply-to: serguei.so...@gmail.com To: fernandohtol...@gmail.com, rcpp-devel@lists.r-forge.r-project.org Subject: Re: [Rcpp-devel] Modules + Attributes for extensions Date: Wed, 7 Mar 2018 16:57:20 +0100 Le 07/03/2018 à 15:59, fernandohtol...@gmail.com a écrit : > Dear Ralf and others, > > Thanks for your reply. I did looked for the references you pointed > before. Unfortunately, there is nothing new in the Extending vignette > than what can be found in Dirk's book chapter. Basically, all the > others implement custom as/wrap for third part classes to SEXP > fundamental types. > > Perhaps, I didn't state the question clearly... : Given my own class > exposed through Modules, how to retrieve it from the C++ side? (Supposing I understood well your question...) For this part of problem, you have to declare your classes in your original package (say mypack) in a separate file say mypack/inst/include/mypack.h Then in a package which will extend it (say otherpack) you will delcare in its DESCRIPTION LinkingTo: mypack It will allow you to put in your otherpack/src/*.cpp files #include <mypack.h> So you'll be able to use/extend mypack classes. > How to > allow perspective users to extend a package taking exposed class and > defining new Rccp functions that uses those exposed class as argument > or return? As to taking objects instantiated from your classes as arguments in R session, it's indeed a matter of custom as()/wrap() custom definition. Or you can use XPtr hook to passe just pointers to your objects and de-referencing them appropriately in the Rcpp code. Best, Serguei. > > My main difficulty is that! I will appreciate your points over that? > > Cheers, > FH > > -----Original Message----- > From: Ralf Stubner <ralf.stub...@r-institute.com> > To: rcpp-devel@lists.r-forge.r-project.org > Subject: Re: [Rcpp-devel] Modules + Attributes for extensions > Date: Tue, 6 Mar 2018 14:41:32 +0100 > > On 06.03.2018 00:08, fernandohtol...@gmail.com wrote: > > I > > will also appreciate if someone point me an R package in which > > custom > > as/wrap are defined! > > The reference: http://dirk.eddelbuettel.com/code/rcpp/Rcpp-extending. > pd > f > Also very useful: > http://gallery.rcpp.org/articles/custom-templated-wrap-and-as-for-sea > mi > ngless-interfaces/ > > Simple example: RcppBDT > More complex examples: RcppArmadillo, RcppEigen, RcppGSL > > Greetings > Ralf > > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-dev > el > _______________________________________________ > Rcpp-devel mailing list > Rcpp-devel@lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-dev > el > _______________________________________________ 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