[Rcpp-devel] Modules + Attributes for extensions

Serguei Sokol serguei.sokol at gmail.com
Wed Mar 7 16:57:20 CET 2018


Le 07/03/2018 à 15:59, fernandohtoledo at 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.stubner at r-institute.com>
> To: rcpp-devel at 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, fernandohtoledo at 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-seami
> ngless-interfaces/
> 
> Simple example: RcppBDT
> More complex examples: RcppArmadillo, RcppEigen, RcppGSL
> 
> Greetings
> Ralf
> 
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> _______________________________________________
> Rcpp-devel mailing list
> Rcpp-devel at lists.r-forge.r-project.org
> https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/rcpp-devel
> 



More information about the Rcpp-devel mailing list